单个列表转字典
我有这样一个列表:
single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
从这个列表中创建一个字典的最佳方法是什么?
谢谢。
6 个回答
2
我想这就是最简单的了。你会在这里看到更多的技巧,比如使用列表推导等方法。
dictObj = {}
for x in range(0, len(single), 2):
dictObj[single[x]] = single[x+1]
输出结果:
>>> single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
>>> dictObj = {}
>>> for x in range(0, len(single), 2):
... dictObj[single[x]] = single[x+1]
...
>>>
>>> dictObj
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
>>>
12
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种情况下,我们可以去一些技术论坛,比如StackOverflow,去寻找解决方案或者向其他人求助。
在这些论坛上,很多人会分享他们的经验和解决办法。你可以看到别人是如何描述他们遇到的问题,以及他们是如何解决的。这些信息对我们学习编程非常有帮助,因为它们提供了真实的案例和解决方案。
总之,StackOverflow是一个很好的资源,可以帮助我们解决编程中的各种问题,让我们在学习的过程中少走弯路。
>>> single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']
>>> dict(zip(single[::2], single[1::2]))
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
8
和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'}