Skip to main content
 首页 » 编程设计

python之为什么在值测试时包含对象的列表为 False

2025年05月04日9bhlsheji

我希望一个空列表将 test 的值设为 False,但我有点困惑为什么包含对象的列表的引用在值测试时也报告为 False,如下例所示:

>>> weapon = [] 
>>> weapon == True 
False 
>>> weapon.append("sword") 
>>> weapon == True 
False 
>>> weapon 
['sword'] 

如果 weapon = [] 为 False,为什么 weapon = ['sword'] 也为 False?根据文档 http://docs.python.org/release/2.4.4/lib/truth.html ,它应该是真的。我对此的理解缺少什么?

请您参考如下方法:

你应该像这样检查

In [1]: w = [] 
 
In [2]: if w: 
   ...:     print True 
   ...: else: 
   ...:     print False 
   ...: 
False