Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Dictionary - Fatal编程技术网

将列表中的项添加到字典-Python

将列表中的项添加到字典-Python,python,list,dictionary,Python,List,Dictionary,我正在尝试将项目添加到字典中的列表中。 我有两个列表:x_列表和y_列表。 我试图让x_列出键,y_列出值。 我尝试使用zip方法,但我确实需要逐个添加它们。现在我有: dictionary = dict((x,0) for x in x_list) 但我想要的是: dictionary = dict((x,y) for x in x_list, for y in y_list) 但很明显,这造成了语法错误。有没有办法做到这一点? 谢谢大家! 编辑: 我已经尝试过压缩,它可以工作了,谢谢,但

我正在尝试将项目添加到字典中的列表中。 我有两个列表:x_列表和y_列表。 我试图让x_列出键,y_列出值。 我尝试使用zip方法,但我确实需要逐个添加它们。现在我有:

dictionary = dict((x,0) for x in x_list)
但我想要的是:

dictionary = dict((x,y) for x in x_list, for y in y_list)
但很明显,这造成了语法错误。有没有办法做到这一点? 谢谢大家!

编辑:

我已经尝试过压缩,它可以工作了,谢谢,但是我需要一个接一个地将项目添加到字典中(我正在尝试让具有相同键的条目将值添加到一起,例如apple:10和apple:5变成apple:15)

例如:

x_list = (blue, orange, purple, green, yellow, green, blue)
y_list = (1, 2, 5, 2, 4, 3, 8)
我希望输出是

dictionary = {blue:9, orange:2, purple:5, green:5, yellow:4}
并且列表会不断添加到中。

我会在此处使用:

试试这个:

dct = {}
x_list = (blue, orange, purple, green, yellow, green, blue)
y_list = (1, 2, 5, 2, 4, 3, 8)
for i in range(len(x_list)):
    if x_list[i] in dct.keys():
        dct[x_list[i]] += y_list[i]
    else:
        dct[x_list[i]] = y_list[i]

print dct

使用
枚举
函数的简短解决方案:

x_list = ['blue', 'orange', 'purple', 'green', 'yellow', 'green', 'blue']
y_list = [1, 2, 5, 2, 4, 3, 8]
result = {}

for i, v in enumerate(x_list):
    result[v] =  y_list[i] if not result.get(v) else result[v] + y_list[i]

print(result)
输出:

{'yellow': 4, 'orange': 2, 'blue': 9, 'green': 5, 'purple': 5}
请尝试以下代码:

list_x =["apple", "mango", "orange", "apple","mango"]
list_y = [10,5,25,10,15]
total_dict = {}
for k, v in zip(list_x, list_y):
    total_dict[k] = total_dict.get(k,0)+v 
total_dict
的值最终为:

{'orange': 25, 'mango': 20, 'apple': 20}

你可以使用
dict(zip(x_列表,y_列表))
。我已经尝试过压缩,它可以工作,谢谢你,但是我需要一个接一个地将项目添加到字典中(我试图让具有相同键的条目将值添加到一起,例如apple:10和apple:5变成apple:15)@okisker用这个更新问题detail@okisker:我认为您最好提供一些sampe输入/输出,以便明确您的目标。这听起来像是您希望
{'orange': 25, 'mango': 20, 'apple': 20}