Python元组到底是什么意思

奥菲克·罗恩
(0,)==(0)
False

在(0,)中的含义是什么,什么时候用这种元组代替像(0)这样的常规元组是有用的?

我认为这可能意味着索引1中的项目为None,但事实并非如此:

(0,)[1]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: tuple index out of range

另外,如果我想(0,1,)成为(0,1),我该如何操作?

编辑:

也许我过度简化了用于我的问题的示例,这是我的原始问题:

(('Suggest', 1.0), 65)==((('Suggest', 1.0),), 65)
False

因此,我猜想python不会干扰('Suggest',1.0)作为数学表达式吗?

琥珀色

(0)不会被Python解释为元组,而是被解释为数字表达式(例如,(1+2)除非没有任何数学运算)。尾部逗号用来告诉Python,它显然是1元素元组。

>>> type((0))
<type 'int'>
>>> type((0,))
<type 'tuple'>

(0) 计算为一个数字:

>>> (0) == 0
True

(0,) 计算结果为元组,而不是数字...

(0,)== 0错误

...但是是一个元组。

>>> (0,) == tuple([0])
True

这也不是数字所独有的-(expression)始终等于expression,而(expression,)始终是单元素元组,而元组中的第一个(也是唯一的)项是的结果expression

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章