Skip to main content
 首页 » 编程设计

python之'Int' 对象不可迭代。但是,它是一个字符串

2025年05月04日11artech

这是脚本的一部分。它应该在始终相同的名称之前获取数字(在 cows 的情况下)

cows = "111 cows 222 cows " 
for cow in cows.find(" cows "): 
    startingpos = cow-4 
    print(cows[startingpos:cow]) 

结果应该是:

111  
222 

但是,我得到了

TypeError: 'Int' object is not iterable 

尽管 cows 是一个字符串,而不是一个整数,为什么?

请您参考如下方法:

str.find() 返回一个 int,而不是一个 str。

尝试以下操作:

cows = "111 cows 222 cows " 
print cows.split(" cows ") # this prints ['111', '222', ''] 

最后一个空条目可能是不需要的,可以轻松删除:

cows = "111 cows 222 cows " 
cows_lst = [cow for cow in cows.split(" cows ") if cow] 
print cows_lst # now it prints ['111', '222']