【问题标题】:what is the most efficient way to creating a dict with two lists?用两个列表创建字典的最有效方法是什么?
【发布时间】:2012-07-15 06:38:15
【问题描述】:

我有两个类似

的列表
x = ['a', 'b', 'c', 'd'] and
y = [1, 2, 3, 4] 

我必须从这两个列表中创建一个字典,以便结果是

{
 'a': 1,
 'b': 2,
 'c': 3,
 'd': 4
}

我用下面的方法来做

dict(zip(x, y))  

有没有更好更快/更有效的方法?
我必须在 [m, b] 十亿次和不同的列表上执行此操作

谢谢

【问题讨论】:

  • 如果您使用的是 Python 2.X,您可以使用 izip 而不是 zip 来返回一个迭代器。除此之外,您的方法可以正常工作。

标签: python


【解决方案1】:

根据Praveen Gollakota's 的评论,原始方法可以正常工作。在 Python 2.x 中,您还可以使用 itertools 模块中的 izip 函数。这些方法中的任何一种都可以:

import itertools

x = ['a', 'b', 'c', 'd']
y = [1, 2, 3, 4]

method1 = dict(zip(x, y))
method2 = itertools.izip(x, y)

在 Python 3.x 中,zip 默认返回一个迭代器,所以这个方法可以完美运行:

x = ['a', 'b', 'c', 'd']
y = [1, 2, 3, 4]

method1 = dict(zip(x, y))

【讨论】:

  • 请参阅this question,了解我为什么要回答一个老问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2010-12-16
  • 1970-01-01
相关资源
最近更新 更多