gpt4 book ai didi

Python:如果项目等于键,如何将列表项追加到字典中?

转载 作者:行者123 更新时间:2023-12-02 02:55:55 25 4
gpt4 key购买 nike

我正在尝试迭代列表,如果列表项等于字典键,则将列表项追加到字典中。

mylist = [1, 2, 3]

mydict = dict.fromkeys(mylist, [])

for item in mylist:
for key in mydict:
if key == item:
mydict[key].append(item)

print(mydict)

输出:

{1: [1, 2, 3], 2: [1, 2, 3], 3: [1, 2, 3]}

所需输出:

{1: [1], 2: [2], 3: [3]}

非常感谢!

最佳答案

那是因为这里:

mydict = dict.fromkeys(mylist, [])

mydict 的值将是同一个对象 [],因此当您附加到 mydict[something],您将附加到同一个列表,无论某物是什么。

所有值都是同一个对象,您向其附加三个数字 => 所有值都显示为同一个列表。

为了避免这种情况,请为每个键分配列表:

mydict = {}
for item in mylist:
mydict.setdefault(item, []).append(item)

或者,你知道:

mydict = {key: [key] for key in mylist}

关于Python:如果项目等于键,如何将列表项追加到字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com