0

让我们简明扼要:

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 起个名字吗?

4

3 回答 3

3

许多可能的方法之一是:

{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) )
于 2013-09-17T20:45:48.530 回答
2

您可以使用 zip 来制作 key: value 对并将它们传递给 dict()

dict(zip(keys, values))

我不知道有一个功能可以一次性完成。

这是这个问题的副本。

于 2013-09-17T20:46:47.383 回答
1

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

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

d = dict(zip(keys, values))

print(d)

结果:

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

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

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

于 2013-09-17T20:47:14.980 回答