为什么不包含两个空列表的元组是一个空元组?

时间:2016-06-10 13:19:59

标签: python python-3.x tuples

我有一个基本上从函数返回元组的脚本:

results = some_function()

然后我会检查是否有任何结果:

if results:
   do_something()

当元组有两个空列表时,返回True。当我使用调试模式时,我的results([], [])。运行len(results)会产生2的长度。

有趣的是,如果我执行以下操作:

results = ([])
print(len(results))

打印0。为什么添加另一个列表会打印2

我应该从生成元组的函数中重写类方法__len__吗?

1 个答案:

答案 0 :(得分:3)

元组由逗号定义,而不是括号:

>>> results = ([],)
>>> print(len(results))
1