(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] 删除。
我来说两句