如何在Python中检查双端队列是否为空?
如何在Python中检查双端队列是否为空?
Answers:
如果d是您的双端队列,请使用
if d:
# not empty
else:
# empty
如果双端队列包含任何项目并且为空,则将隐式转换d为。boolTrueFalse
if d是所有集合(元组,字符串,列表,字典及其所有子类型)的规范方法。
if len(d) == 0,我个人也更简洁if d。我认为坚持使用官方样式指南是有好处的,因为它使Python代码在代码库之间更加一致。
len() 还支持转换为bool。
主要有两种方法:
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。我已经看过几次了。
希望这可以帮助 :-)
d_empty = False if d else True