python - 为什么 Python 将具有一项的元组视为整数?

标签 python tuples

<分区>

请看下面的例子:

(1) #outputs 1

但如果我添加逗号,根据 Python 文档,它将是正确的:)

(1,) #output (1,)

这对我来说太奇怪了。谁能解释一下?

相关问题:Python 是否没有办法知道 (1) 何时应该是元组 (1,) 而不是 1?

感谢 future 的回复。

最佳答案

实际上,创建元组的是逗号;只有在否则会产生歧义的情况下才需要括号。毕竟,括号也可以用于分组:

>>> 1, 2
(1, 2)
>>> 1,
(1,)
>>> (1)
1
>>> 2 * 3, 4
(6, 4)
>>> 2 * (3, 4)
(3, 4, 3, 4)
>>> 1, + (2, 3) * 4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: bad operand type for unary +: 'tuple'
>>> (1,) + (2, 3) * 4
(1, 2, 3, 2, 3, 2, 3, 2, 3)

关于python - 为什么 Python 将具有一项的元组视为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583957/

相关文章:

python - string.join 使用元组或列表更快吗?

python - 将数据帧绑定(bind)到 for 循环中的变量会将其转换为元组?

python - Tensorflow:ValueError:在单次检测中为 None 时无法加载 save_path

python - 使用 Python 从 Jira 获取链接问题

python - 安装错误 : installing basemap on windows

c++ - 将可变参数模板参数转换为其他类型

python - 如何在 Django 模板中迭代查询集列表

python - 如何加快对部分 numpy 数组的迭代

swift - Swift 中 nil 和 () 的区别

python - 如何在 python 中压缩两个元组列表