我有一个基本上从函数返回元组的脚本:
results = some_function()
然后我会检查是否有任何结果:
if results:
do_something()
当元组有两个空列表时,返回True
。当我使用调试模式时,我的results
为([], [])
。运行len(results)
会产生2
的长度。
有趣的是,如果我执行以下操作:
results = ([])
print(len(results))
打印0
。为什么添加另一个列表会打印2
?
我应该从生成元组的函数中重写类方法__len__
吗?
答案 0 :(得分:3)
元组由逗号定义,而不是括号:
>>> results = ([],)
>>> print(len(results))
1