gpt4 book ai didi

python - 在 setdefault 之后追加到字典中的列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:35 27 4
gpt4 key购买 nike

<分区>

我有下面的代码,我试图在输入中每次出现时将 1 append 到元素的散列。

def test(Ar):
hash_table = {}
for elem in Ar:
if elem not in hash_table:
hash_table.setdefault(elem,[]).append(1)
else:
hash_table[elem] = hash_table[elem].append(1)
print(hash_table)

Ar = (1,2,3,4,5,1,2)
test(Ar)

输出:

{1: None, 2: None, 3: [1], 4: [1], 5: [1]}

预期输出:

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

我很困惑为什么 None 会参与到追加中。请解释发生了什么。

注意:

在输入 else 部分时,

hash_table[elem] = hash_table[elem].append(1) # the append() was not suggested at all by the IDE. I forcibly put it, hoping things will work.

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