从一组键和一个值数组中获取一个dict

时间:2013-09-17 20:43:52

标签: python

让我们简明扼要:

keys = ['a', 'b']
values = [1, 2]
d = the_function_i_m_looking_for(keys, values)
# d = {'a': 1, 'b': 2}

你能为the_function_i_m_looking_for?

命名吗?

3 个答案:

答案 0 :(得分:2)

许多可能的方法之一是:

{k: v for k, v in zip (keys, values) }

另一个是:

dict (zip (keys, values) )

因此:

def the_function_you_are_looking_for (keys, values):
    return dict (zip (keys, values) )

答案 1 :(得分:2)

你可以使用zip来创建key:value对并​​将它们传递给dict()

dict(zip(keys, values))

我不知道一次性执行此操作的功能。

这是this question的副本。

答案 2 :(得分:1)

您正在寻找的功能是zipdict构造函数配对。

keys = ['a', 'b']
values = [1, 2]

d = dict(zip(keys, values))

print(d)

结果:

{'a': 1, 'b': 2}

对于大型列表,您可能需要使用itertools.izip

如果您的键/值列表的大小izip_longest大小不同,则为默认值。