最简单的解释方法是展示一个简单的例子:
x = [0]
f = 4
if (x) & (f < 6):
print("yes")
这个想法很简单,检查列表是否包含任何内容,以及某个其他变量是否小于某个数字。
该解决方案产生以下错误,我不完全确定解决方案是什么。
TypeError: unsupported operand type(s) for &: 'list' and 'bool'
答案 0 :(得分:3)
&
不是Python中的逻辑“和”运算符,而是this。相反,您应该使用逻辑“和”运算符,它只是and
:
if (x) and (f < 6):
print("yes")
答案 1 :(得分:3)
&
是“按位和”运算符,而and
是逻辑运算符。
正确的if语句如下:
if x and f < 6:
print("yes")
请注意,此处不需要括号。另外,在Python中,非空列表被评估为True
,这就是为什么你可以使用x
而不是len(x) > 0
这也是正确的。