Python Zip 字典:完整指南

列表和字典是 Python 中强大的数据结构之一。 相互转换是 Python 开发中最常见的任务。

您经常从两个不同但密切相关的序列创建字典。 解决此问题的一种简单方法是将 dict() 和 zip() 方法一起使用。

Python 压缩字典

要从两个序列创建字典,请使用 dict() 和 zip() 方法。 dict(zip(keys, values)) 需要一次性全局查找 dict 和 zip。

它不会创建不必要的中间数据结构或处理函数应用程序中的本地查找。

在 Python 3 中,zip() 方法现在返回一个惰性迭代器,这是最常用的方法。

# app.py

stocks = ['reliance', 'infosys', 'tcs']
prices = [2175, 1127, 2750]
dictionary = dict(zip(stocks, prices))
print(dictionary)

输出

{'reliance': 2175, 'infosys': 1127, 'tcs': 2750}

在这个例子中,我们定义了两个需要转换成字典的列表。 第一个项目列表将是字典的键,第二个项目列表将是字典。

zip(fields, values) 方法返回一个生成两项元组的迭代器。 如果你在那个迭代器上调用 dict(),你可以创建你需要的字典。

第一个列表的元素成为字典的键,第二个列表的元素代表字典中的值。

需要注意的一件重要事情是 dictionary = {zip(keys, values)} 不起作用。 您必须明确声明为 dict(zip())。 如果你让它工作,你必须使用正确的字典理解。

字典理解

字典理解是创建字典的一种优雅而简洁的方式。 例如,我们可以使用上面的示例从两个列表创建字典。

字典理解的最小语法如下。

dictionary = {key: value for vars in iterable}

请参阅以下字典理解的代码示例。

# app.py

stocks = ['reliance', 'infosys', 'tcs']
prices = [2175, 1127, 2750]

new_dict = {stocks: prices for stocks, prices in zip(stocks, prices)}
print(new_dict)

输出

{'reliance': 2175, 'infosys': 1127, 'tcs': 2750}

这就对了。

Python Zip Dictionary: The Complete指南 一文首次出现在 AppDividend 上。

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Krunal所有,未经许可,不得转载
你可能还喜欢