有没有更好的方法来编写这个if语句?

b8c*_*ith 0 python if-statement

这样做的更好方法是什么:

if pattern[0] != [0] or pattern[0] != [0 , 0] or ... so on:
    # do something
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 7

看来你正在寻找 any:

if any(pattern[0]):
Run Code Online (Sandbox Code Playgroud)

此解决方案测试是否有任何项目pattern[0]不相等0.它的工作原理是因为在Python中0求值False.当然,它也假设它pattern[0]是可迭代的,因为您最初将它与列表进行比较.

此外,无论您尝试做什么,if语句的条件都是错误的.它永远是True因为pattern[0]永远不等于[0]或不等于[0, 0].您应该使用and而不是or:

if pattern[0] != [0] and pattern[0] != [0 , 0] and ... so on:
Run Code Online (Sandbox Code Playgroud)