2024-05-01 21:49:00 发布
网友
为什么我把这个给Python时得到一个奇怪的0 2结果?在
0 2
#tuples ~wtF? a=() b=(a) c=(a,1) len(b) len(c)
注意:对于列表,我得到一个预期的1 2结果:
1 2
这在Linux上发生:
$ python --version Python 2.7.2+
那么这是因为c=(a,1)赋值中的,?在
c=(a,1)
,
>>> print b () >>> print c ((), 1)
方括号不是元组,逗号是元组。考虑:
>>> 5 * (3 + 2) 25
括号里的意思是“先做这个”。括号:
意思是一样的。所以,这相当于
b = a
所以b is a将是{}。在
b is a
要使b成为包含空元组的元组,需要执行以下操作:
b
b = a,
同样,方括号并不能使其成为元组(除了()是空元组的特殊情况外),逗号可以。在
()
为了编辑
c = (a, 1)
由于a = (),这与:
a = ()
c = ((), 1)
也就是说,它是一个包含空元组和1的元组。()总是空元组(与[]是空列表相同),但这是唯一一次方括号表示“元组”的时候。以上同:
1
[]
c = (), 1
尽管人们通常会在这里包括方括号(元组的repr和{}),但这是为了风格,而不是因为它们有意义。在
repr
(a)只是一个表达式a,就像(1+2)就是{}。在
(a)
a
(1+2)
如果你想要1项元组,你可以写(a,)。 顺便说一句,同样的语法适用于列表:[a,]。还有函数参数列表。在逗号分隔列表的任何地方都可以使用尾随逗号。在
(a,)
[a,]
方括号不是元组,逗号是元组。考虑:
括号里的意思是“先做这个”。括号:
^{pr2}$意思是一样的。所以,这相当于
所以}。在
b is a
将是{要使
b
成为包含空元组的元组,需要执行以下操作:同样,方括号并不能使其成为元组(除了
()
是空元组的特殊情况外),逗号可以。在为了编辑
由于
a = ()
,这与:也就是说,它是一个包含空元组和
1
的元组。()
总是空元组(与[]
是空列表相同),但这是唯一一次方括号表示“元组”的时候。以上同:尽管人们通常会在这里包括方括号(元组的}),但这是为了风格,而不是因为它们有意义。在
repr
和{(a)
只是一个表达式a
,就像(1+2)
就是{如果你想要1项元组,你可以写
(a,)
。 顺便说一句,同样的语法适用于列表:[a,]
。还有函数参数列表。在逗号分隔列表的任何地方都可以使用尾随逗号。在相关问题 更多 >
编程相关推荐