将2个元素列表转换为dict

时间:2015-01-13 16:23:55

标签: python python-2.7 dictionary

我知道这里回答的关于dict(list)

的一些问题
l = [['a',1] ['b',2]]

并且dict(l)然后我们得到:

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

但是如何制作一个包含2个元素的列表

l = ['a',1]

成为一个字典,如:

{'a':1}

使用dict函数?

3 个答案:

答案 0 :(得分:6)

dict期望可迭代的两项迭代,因此您需要将l放在一个列表中:

>>> l = ['a',1]
>>> dict([l])
{'a': 1}
>>>

请注意,您还可以使用元组:

>>> l = ['a',1]
>>> dict((l,))
{'a': 1}
>>>

答案 1 :(得分:1)

这适用于列表中的多个元素

>>> l = ['a',1,'b',2]
>>> i = [(l[i],l[i+1]) for i in range(0,len(l),2)]
>>> dict(i)
{'a': 1, 'b': 2}

答案 2 :(得分:1)

对于一个元素,dict([l])会起作用。对于展平列表中的多个键/值对,您可以使用zip()

In [5]: l = ['a', 1, 'b', 2]

In [6]: dict(zip(l[::2], l[1::2]))
Out[6]: {'a': 1, 'b': 2}