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

标签 python object truthtable

我希望一个空列表将 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/

相关文章:

python - 激活虚拟环境并以批处理文件方式启动 jupyter notebook

python - 如何在轮廓 OpenCV 中找到 "regions"?

python - 使用社区检测标签更新 Pandas 数据框

actionscript-3 - AS3 对象与字典

excel - 在Excel中生成真值表

php - 在 PHP 中输​​出真值表

javascript - 不同格式的请求 HTTP POST 到 CURL

c# - 使用 xml 填充对象的设计模式

javascript - 如何从一组特定数字中找到最接近的较大数字:javascript

c - 代码中的真值表?如何构造状态机?