Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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,我正在尝试将列表项作为所有键的附加值添加到字典中 字典和列表如下所示: mydic = {'1':22, '2':33, '3':44} mylist = [23,24,25] mydic = {'1': [22, 23], '2': [33,24], '3': [44,25]} mydic = {'1':22, '2':33, '3':44} mylist = [23,24,25] mydic = {k: [v1, v2] for (k,v1), v2 in zip(mydic.item

我正在尝试将列表项作为所有键的附加值添加到字典中

字典和列表如下所示:

mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]
mydic = {'1': [22, 23], '2': [33,24], '3': [44,25]}
mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]

mydic = {k: [v1, v2] for (k,v1), v2 in zip(mydic.items(),mylist)}
我希望我的字典如下所示:

mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]
mydic = {'1': [22, 23], '2': [33,24], '3': [44,25]}
mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]

mydic = {k: [v1, v2] for (k,v1), v2 in zip(mydic.items(),mylist)}
自从“AttributeError:'tuple'对象没有属性'add'”之后,我的想法就不起作用了,是这样的:

for item in mylist:
       for k in mydic.items():
           mydic[k].append(item)

有什么更好的方法可以将列表中的项目放入字典中?

我使用了
枚举
函数。它返回一个以0和列表项开头的变量

for i,(k,v) in enumerate(mydic.items()):
    mydic[k]=[v,mylist[i]]
在这里,我拿起字典,在每个键处重新分配它,使其成为以前的值和新的
项的列表

对于i,枚举(mylist)中的项:
mydic[str(i+1)]=[mydic[str(i+1)],项目]

来源:

按键的索引遍历字典键,并为字典的每个值分配一个列表

mydic = {'1':22, '2':33, '3':44}
mylist = [23, 24, 25]

mykeys = list(mydic.keys())
for idx in range(len(mylist)):
    mydic[mykeys[idx]] = [mydic[mykeys[idx]], mylist[idx]]

print(mydic)
# {'1': [22, 23], '2': [33, 24], '3': [44, 25]}

这个很好用

count = 0
for x in mydic.items():
    mydic[x[0]] = [mydic[x[0]]]
    mydic[x[0]].append(mylist[count])
    count += 1
print(mydic)

您可以这样做:

mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]
mydic = {'1': [22, 23], '2': [33,24], '3': [44,25]}
mydic = {'1':22, '2':33, '3':44}
mylist = [23,24,25]

mydic = {k: [v1, v2] for (k,v1), v2 in zip(mydic.items(),mylist)}

首先,当您在mydic.items()中迭代k的
时,实际上得到了一个包含
(键,值)
的元组。这就是发生元组错误的原因。相反,通过对mydic.items()中的key、value使用
,我们可以消除该错误。但是,您的双重迭代意味着每个元素都被添加到dict中的每个键中。为了避免这种情况,我们可以执行以下操作:

对于键,mydic.items()中的值:
mydic[key].append(mylist[key-1])

您想要按特定顺序排列吗?列表的第一项进入字典的键1?@NanoBit是的,我需要这样的顺序。