在Python中从列表生成字典

这是原始列​​表:

['name', 'value', 'name', 'value', 'name', 'value']

等等.我需要将名称/值对提取到字典中:

{'name': 'value', 'name': 'value', 'name': 'value'}

有人可以详细说明最简单的方法吗?

最佳答案 如果L是您的原始列表,您可以使用
zip(*[iter(L)]*2)将项目分组.
dict constructor可以直接采用这种对的迭代

>>> L = ['name1', 'value1', 'name2', 'value2', 'name3', 'value3']
>>> dict(zip(*[iter(L)]*2))
{'name1': 'value1', 'name2': 'value2', 'name3': 'value3'}

我不确定你的意思是什么更简单(更容易理解?).很难猜测你认为更简单,因为我不知道你在什么级别.这是一种不使用iter或zip的方式.如果你还不知道enumerate到底是什么,你应该查阅它.

>>> d = {}
>>> for i, item in enumerate(L):
...     if i % 2 == 0:
...         key = item
...     else:
...         d[key] = item
... 
>>> d
{'name1': 'value1', 'name2': 'value2', 'name3': 'value3'}
点赞