这是脚本的一部分.它应该在名称之前得到数字,这些数字将始终相同(在这种情况下cows)
cows = "111 cows 222 cows "
for cow in cows.find(" cows "):
startingpos = cow-4
print(cows[startingpos:cow])
Run Code Online (Sandbox Code Playgroud)
结果应该是:
111
222
Run Code Online (Sandbox Code Playgroud)
但是,我得到了
TypeError: 'Int' object is not iterable
Run Code Online (Sandbox Code Playgroud)
即使cows是一个字符串,而不是一个整数,为什么?
str.find()返回一个int,而不是一个str.
请尝试以下方法:
cows = "111 cows 222 cows "
print cows.split(" cows ") # this prints ['111', '222', '']
Run Code Online (Sandbox Code Playgroud)
最后一个空条目可能不受欢迎,可以轻松删除:
cows = "111 cows 222 cows "
cows_lst = [cow for cow in cows.split(" cows ") if cow]
print cows_lst # now it prints ['111', '222']
Run Code Online (Sandbox Code Playgroud)