Ine*_*elp 1 python dictionary list
我有一个这样的清单:
list = ['John', 18, 'Spain', 'Adam', 12, 'Hungary', 'Eve', 50, 'Greece', ...]
Run Code Online (Sandbox Code Playgroud)
我怎样才能从中制作字典列表?
预期结果:
[{'name':'John', 'age':18, 'country':'Spain'},
{'name':'Adam', 'age':12, 'country':'Hungary'},
{'name':'Eve', 'age':50, 'country':'Greece'},
...]
Run Code Online (Sandbox Code Playgroud)
您可以使用zip不同的值切片
values[::3] 迭代 1 超过 3,所以只有名字values[1::3] 从索引 1 开始迭代 1 超过 3,所以只有年龄values[2::3] 从索引 2 开始迭代 1 超过 3,所以只有国家values = ['John', 18, 'Spain', 'Adam', 12, 'Hungary', 'Eve', 50, 'Greece']
list2 = []
for name, age, country in zip(values[::3], values[1::3], values[2::3]):
list2.append({'name': name, 'age': age, 'country': country})
print(list2)
Run Code Online (Sandbox Code Playgroud)
您还可以使用dict+zip来构建字典keys+values
list2 = [
dict(zip(['name', 'age', 'country'], vals))
for vals in zip(values[::3], values[1::3], values[2::3])
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |