(0,)==(0)False, in (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) 吗?
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
(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.
添加回答
举报
0/150
提交
取消