我有一个令人费解的问题 我使用一些嵌套的if语句来生成列表,并使用列表中的变量
if List1[0] or List2[0] or List3[0] or List4[0] or List5[0] == 'Something':
现在我的假设是,它将检查任一位置的值是否是我的特定字词,如果不是,则继续执行下一个语句,但是在此处停止。
还有更多细分内容,您可以在此处查看我的目标
for i in range(5):
if List1[0] or List2[0] or List3[0] List4[0] or List5[0] == 'Something':
SuperList.append('example1, example2, example3')
if List1[0] == 'Something':
List1.remove('Something')
elif List2[0] == 'Something':
List2.remove('Something')
elif List3[0] == 'Something':
List3.remove('Something')
elif List4[0] == 'Something':
List4.remove('Something')
elif List5[0] == 'Something':
List5.remove('Something')
elif List1[0] or List2[0] or List3[0] or List4[0] or List5[0] == 'SomethingElse':ECT.....
无论如何,我可以肯定地知道所有列表1-5都恰好包含1个单词,因为我的程序会在很长的if / nested if函数出现之前将它们全部打印出来
任何帮助将不胜感激
答案 0 :(得分:0)
我相信这里的问题是,您仅将List5 [0]与'Something'比较。您需要分别将“某些”与每个值进行比较。 (作为一个补充说明,因为您没有比较所有值,所以Python期望布尔值,而列表包含字符串值)。 要解决您的问题,您可以这样做,例如:
if List1[0] == 'Something' or List2[0] == 'Something' or List3[0] == 'Something' or List4[0] == 'Something' or List5[0] == 'Something':
# The rest of your code here
同样,您必须分别比较每个值,以便它们可以成为布尔值。这似乎是您的代码的唯一问题。我希望这可以为您清除它。