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

标签 python for-loop

这是脚本的一部分。它应该在始终相同的名称之前获取数字(在 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']

关于python - 'Int' 对象不可迭代。但是,它是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136326/

相关文章:

javascript - for循环的两个计数?

arrays - 在 for 循环的开头合并数组 (Bash)

for-loop - perl6/落语 : dereferencing-question

python - 为什么这个矩阵初始化给了我意想不到的结果?

bash for 循环 : a range of numbers

python - 删除 Pandas 中 2 个特定列之间的空值

Python - 绘制多边形

javascript - 使用 JavaScript 循环遍历 HTML 中的数据时遇到问题

python - pyinstaller错误: OSError: Python library not found: libpython3. 4mu.so.1.0, libpython3.4m.so.1.0, libpython3.4.so.1.0

python - 使用 Pmw 时为 "ImportError: No module named tkinter"