Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从键列表和值列表创建字典列表_Python_Dictionary - Fatal编程技术网

Python 如何从键列表和值列表创建字典列表

Python 如何从键列表和值列表创建字典列表,python,dictionary,Python,Dictionary,如何从现有的键和值列表创建字典字典 celebr = ['Tony','Harry','Katty','Sam'] perc = [69,31,0,0] d = dict(zip(celebr, perc)) dlist = [] for i in d.items(): dlist.append(i) print(dlist) 输出: [('Tony': 69), ('Harry': 31), ('Katty': 0), ('Sam': 0)] 当我使用d.items时,它

如何从现有的键和值列表创建字典字典

celebr = ['Tony','Harry','Katty','Sam']
perc = [69,31,0,0]

d = dict(zip(celebr, perc))
dlist = []
for i in d.items():
    dlist.append(i)    
print(dlist)
输出:

[('Tony': 69), ('Harry': 31), ('Katty': 0), ('Sam': 0)]
当我使用
d.items
时,它会自动给我元组,而不是字典。有没有办法创建字典列表,而不是元组

我需要得到以下结构:

[{'Tony': 69}, {'Harry': 31}, {'Katty': 0}, {'Sam': 0}]
这够了吗

celebr = ['Tony','Harry','Katty','Sam']
perc = [69,31,0,0]

dlist = []

for i, j in zip(celebr, perc):
    dlist.append({i: j})

print dlist

您的示例只创建了一个包含dicts
项的列表。您的问题要求提供一个集合列表。如果确实需要单独的DICT,则使用冒号分隔键和值:

>>> [{k, v} for (k, v) in d.items()]
[{'Tony', 69}, {'Harry', 31}, {'Katty', 0}, {'Sam', 0}]
>>> [{k: v} for (k, v) in d.items()]
[{'Tony': 69}, {'Harry': 31}, {'Katty': 0}, {'Sam': 0}]
以下方面的良好用例:

输出:

>>> celebr = ['Tony', 'Harry', 'Katty', 'Sam']
>>> perc = [69, 31, 0, 0]
>>>
>>> [{k: v} for k, v in zip(celebr, perc)]
[{'Tony': 69}, {'Harry': 31}, {'Katty': 0}, {'Sam': 0}]
尝试:

输出:

[{'Tony': 69}, {'Harry': 31}, {'Katty': 0}, {'Sam': 0}]

您可以使用
zip
dict
实现

dict(zip(celebr,perc))
结果:

In [14]: celebr = ['Tony', 'Harry', 'Katty', 'Sam'] 
In [15]: perc = [69, 31, 0, 0]

In [16]: dict(zip(celebr,perc))
Out[16]: {'Harry': 31, 'Katty': 0, 'Sam': 0, 'Tony': 69}

您需要的结构是一个
列表
集合
s;不属于
词典
。你是说
[{'Tony':69},{'Harry':31},{'Katty':0},{'Sam':0}]
?如果是,为什么?把所有的条目都放在一个
字典里
{'Tony':69,'Harry':31,'Katty':0,'Sam':0}
那样不是更好吗mistake@IvanShelonik与元组列表相比,dict列表有什么优势?除非你有非唯一的名字,为什么不只用一个单词?@Ivan这个答案对你有帮助吗?你还面临问题吗?
dict(zip(celebr,perc))
In [14]: celebr = ['Tony', 'Harry', 'Katty', 'Sam'] 
In [15]: perc = [69, 31, 0, 0]

In [16]: dict(zip(celebr,perc))
Out[16]: {'Harry': 31, 'Katty': 0, 'Sam': 0, 'Tony': 69}