我有类似的东西
[('first', 1), ('second', 2), ('third', 3)]
我想要一个内置函数来制作类似的东西
{'first': 1, 'second': 2, 'third': 3}
有没有人知道一个内置的python函数提供它而不是有一个循环来处理它?
需要使用 python >= 2.6
我有类似的东西
[('first', 1), ('second', 2), ('third', 3)]
我想要一个内置函数来制作类似的东西
{'first': 1, 'second': 2, 'third': 3}
有没有人知道一个内置的python函数提供它而不是有一个循环来处理它?
需要使用 python >= 2.6
dict
可以获取元组列表并将它们转换为键值对。
>>> lst = [('first', 1), ('second', 2), ('third', 3)]
>>> dict(lst)
{'second': 2, 'third': 3, 'first': 1}
只需申请dict()
列表:
In [2]: dict([('first', 1), ('second', 2), ('third', 3)])
Out[2]: {'first': 1, 'second': 2, 'third': 3}
不像dict(my_list)
波动率的回答所提出的那样优雅/简单......
我还建议:
my_list = [('first', 1), ('second', 2), ('third', 3)]
my_dict = {k:v for k,v in my_list}
当您必须从原始序列中过滤一些元素时,它会更有用。
my_list = [('first', 1), ('second', 2), ('third', 3)]
my_dict = {k:v for k,v in my_list if k!='third'}
或者
my_dict = {k:v for k,v in my_list if test_value(v)} # test_value being a function return bool
正如评论所说,它仅适用于 python >= 2.7