gpt4 book ai didi

python - 类型错误: 'int' 对象不可迭代

转载 作者:行者123 更新时间:2023-12-05 08:56:00 26 4
gpt4 key购买 nike

执行这段代码时出现错误-
我在 len(str_list) 中:类型错误:“int”对象不可迭代

我该如何解决? ( python 3)

def str_avg(str):
str_list=str.split()
str_sum=0
for i in len(str_list):
str_sum += len(str_list[i])
return str_sum/i

最佳答案

您正在尝试以整数形式循环; len() 返回一个。

如果必须在整数序列上生成循环,请使用 range() object :

for i in range(len(str_list)):
# ...

通过将len(str_list)结果传递给range(),你得到一个从零到str_list长度的序列,减一(因为不包括最终值)。

请注意,现在您的 i 值将是用于计算平均值的不正确值,因为它比实际值列表长度!你想除以 len(str_list):

return str_sum / len(str_list)

但是,在 Python 中不需要这样做。您遍历列表本身 的元素。这消除了首先创建索引的需要:

for elem in str_list
str_sum += len(elem)

return str_sum / len(str_list)

所有这些都可以用 sum() function 在一行中表达,顺便说一下:

def str_avg(s):
str_list = s.split()
return sum(len(w) for w in str_list) / len(str_list)

我用s替换了名称str;最好不要屏蔽内置类型名称,这可能会导致以后出现令人困惑的错误。

关于python - 类型错误: 'int' 对象不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43425270/

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