这是我的代码的一部分:
for line in f:
if animals[0].upper() in line:
break
elif animals[1].upper() in line:
break
elif animals[2].upper() in line:
break
elif animals[3].upper() in line:
break
elif animals[4].upper() in line:
break
elif animals[5].upper() in line:
break
elif animals[6].upper() in line:
break
elif animals[7].upper() in line:
break
elif animals[8].upper() in line:
break
elif animals[9].upper() in line:
break
elif animals[10].upper() in line:
break
print(line)
我只想弄清楚它是否可以以某种方式简化,但我真的无法想出任何东西。有什么想法吗?
谢谢!
答案 0 :(得分:8)
以上是与上述内容完全相同的代码:
if any(animals[x].upper() in line for x in range(11)):
break
假设animals
支持迭代器协议(可能是真的),更好的解决办法就是做这样的事情:
if any(animal.upper() in line for animal in animals): # slice animals as necessary
break