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

10-07 16:56