gpt4 book ai didi

python - 为什么我得到 TypeError "argument of type ' 类型'不可迭代'?

转载 作者:行者123 更新时间:2023-11-28 21:44:06 33 4
gpt4 key购买 nike

在测试它们是否已经存在后,我正在尝试将一些键添加到我的字典中。但是我似乎无法进行测试,每次我得到 TypeError "argument of type 'type' not iterable

这基本上是我的代码:

dictionary = dict
sentence = "What the heck"
for word in sentence:
if not word in dictionary:
dictionary.update({word:1})

我也试过 if not dictionary.has_key(word) 但它也没有用所以我真的很困惑。

最佳答案

你的错误在这里:

dictionary = dict

这会创建对类型对象 dict 的引用,而不是一个空字典。该类型对象确实不可迭代:

>>> 'foo' in dict
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument of type 'type' is not iterable

改为使用 {}:

dictionary = {}

您也可以使用 dict()(调用该类型来生成一个空字典),但首选 {} 语法(它更快更容易在一段代码中进行视觉扫描)。

您的 for 循环也有问题;以字符串形式循环会得到单个字母,不是单词:

>>> for word in "the quick":
... print(word)
...
t
h
e

q
u
i
c
k

如果你想要单词,你可以使用 str.split() 在空格处拆分:

for word in sentence.split():

关于python - 为什么我得到 TypeError "argument of type ' 类型'不可迭代'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41209785/

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