为什么元组比类似的列表更大?

11
下一个元组比列表大有什么原因吗?
>>> t = ( 1, 2, 3 )
>>> l = [ 1, 2, 3 ]
>>> t > l
True
>>> t < l
False

1
在Python 3.x中,这是无效的,并且会抛出一个TypeError异常。 - aIKid
2个回答

17
在Python 2中,任何元组始终比任何列表大 - 这就是语言中定义的方式。
在Python 3中,这个问题得到了修复,因此比较元组和列表会出现“TypeError: unorderable types: tuple() > list()”错误。

这可能并不是必要的,因为答案很明显,但在文档中你可以找到这个信息在哪里? - aIKid
9
作为参考:sorted([dict, set, frozenset, tuple, list]) 的结果是 [<type 'set'>, <type 'frozenset'>, <type 'dict'>, <type 'list'>, <type 'tuple'>] - 因此显然元组是这些类型中最大的! :) - Jon Clements
1
这并不适用于Python2。事实上,它是实现相关的,而不是语言定义的。 - BartoszKP

9

这种做法没有好的理由,而且很令人困惑。这就是为什么在Python 3中不会采用此方法的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接