我希望一个空列表将 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
关于python - 为什么在值测试时包含对象的列表为 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597696/