如何在Python中检查deque是否为空?

时间:2011-04-13 16:11:42

标签: python

如何检查Python中的双端队列是否为空?

2 个答案:

答案 0 :(得分:82)

如果d是你的双端队列,请使用

if d:
    # not empty
else:
    # empty

这会隐式地将d转换为bool,如果双端队列包含任何项目,则会产生True,如果为空,则会产生False

答案 1 :(得分:1)

主要有两种方法:

1)容器可用作布尔值(false表示容器为空):

2)Python中的容器还具有__len__方法来指示其大小。

以下是几种模式:

   non_empty = bool(d)           # Coerce to a boolean value  

   empty = not d                 # Invert the boolean value  

   if d:                         # Test the boolean value 
       print('non-empty')

   while d:                      # Loop until empty
       x = d.pop()
       process(x)

   if len(d) == 0:               # Test the size directly  
      print('empty')

后一种技术并不比其他技术快或简洁,但是它的优点是对于可能不了解容器的布尔值的读者来说是明确的。

其他方式也是可行的。例如,使用d[0]进行索引会为空序列引发 IndexError 。我已经看过几次了。

希望这会有所帮助:-)