在Python中,我知道检查列表是否为空的Pythonic方法是:
我们如何同时检查两个列表是否为空?
以上方法似乎行不通,我也不确定(a 和 b)到底是什么意思。如果 a = [2],b = [1, 3],那么(a and b)= [1, 3]。这里的 and 运算符实际上是在做什么呢?如果我最终把 b = [],即使 a 不为空,(a and b) = []。
编辑:我的使用情况如下:
我曾天真地认为,因为
if not a:
# do things with empty list
要检查一个列表是否为空,我们可以这样操作:
if a:
# do things with my list
我们如何同时检查两个列表是否为空?
if a and b:
# do things with my two lists
以上方法似乎行不通,我也不确定(a 和 b)到底是什么意思。如果 a = [2],b = [1, 3],那么(a and b)= [1, 3]。这里的 and 运算符实际上是在做什么呢?如果我最终把 b = [],即使 a 不为空,(a and b) = []。
编辑:我的使用情况如下:
while (a and b are not empty):
modify a
modify b
我曾天真地认为,因为
if a
检查列表是否为空,if a and b
会检查两个列表都不为空,但事实并非如此。
if a and b
检查两个列表是否都为空。如果你看到的情况似乎不是这样,那么问题可能出在你的循环中,而不是条件语句中。 - Peter DeGlopperwhile (a and b are not empty):
时,你是指 "当 a 不为空且 b 不为空时",还是 "至少有一个列表不为空时"? 例如,第一个条件将在 a==[1,2,3] 和 b==[] 时停止循环,但第二个条件将继续执行。 - Kevin