试图检查列表是否为空以及同一if语句中的某些其他条件

时间:2018-01-14 18:30:05

标签: python list if-statement typeerror

最简单的解释方法是展示一个简单的例子:

x = [0]

f = 4
if (x) & (f < 6):
    print("yes")

这个想法很简单,检查列表是否包含任何内容,以及某个其他变量是否小于某个数字。

该解决方案产生以下错误,我不完全确定解决方案是什么。

TypeError: unsupported operand type(s) for &: 'list' and 'bool'

2 个答案:

答案 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这也是正确的。