单列表到字典

zac*_*ill 3 python dictionary list

我有这个清单:

single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
Run Code Online (Sandbox Code Playgroud)

从这里创建字典的最佳方法是什么?

谢谢.

Sil*_*ost 9

>>> single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
>>> dict(zip(single[::2], single[1::2]))
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
Run Code Online (Sandbox Code Playgroud)

  • `timeit`'d,它比由pyfunc的答案(这反过来胜过元组列表理解)启发的字典理解快2倍,因为它也是最简单的解决方案. (2认同)

pil*_*her 7

与SilentGhost的解决方案类似,无需构建临时列表:

>>> from itertools import izip
>>> single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
>>> si = iter(single)
>>> dict(izip(si, si))
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
Run Code Online (Sandbox Code Playgroud)