这是原始列表:
['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'}