Jos*_*man 3 python dictionary list
这是原始列表:
['name', 'value', 'name', 'value', 'name', 'value']
Run Code Online (Sandbox Code Playgroud)
等等.我需要将名称/值对提取到字典中:
{'name': 'value', 'name': 'value', 'name': 'value'}
Run Code Online (Sandbox Code Playgroud)
有人可以详细说明最简单的方法吗?
如果L是原始列表,您可以使用zip(*[iter(L)]*2)将项目分组.的字典构造可以直接采取这种对一个可迭代
>>> L = ['name1', 'value1', 'name2', 'value2', 'name3', 'value3']
>>> dict(zip(*[iter(L)]*2))
{'name1': 'value1', 'name2': 'value2', 'name3': 'value3'}
Run Code Online (Sandbox Code Playgroud)
我不确定你的意思是什么更简单(更容易理解?).很难猜测你认为更简单,因为我不知道你在什么级别.这是一种不使用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'}
Run Code Online (Sandbox Code Playgroud)