我想知道只有一个元素的元组元组的长度
len(((0, 1)))
但是如果我修改为len(((0, 1),))
然后返回1
然而len([[0, 1]])
直接返回1
我可以知道这里的区别吗?
答案 0 :(得分:1)
当你使用len(((0,1)))
时,你实际上正在做len((0,1))
,即2.它是外括号,因为它们没用。 (...)
可以是带括号的数学运算(如(1+3)*2
)或函数调用,因此单元素元组的构造函数定义为(1,)
。因此,len(((0,1),))
实际上是一个以(0,1)
为唯一元素的元组。
对于[[]]
,它是列表中的列表,因此len([[]])
计算第一个列表中的元素数,即1(仅[]
)。
答案 1 :(得分:0)
这是一维二维差异。
len(((0, 1)))
有两个元组元素返回值为2。
len(((0, 1),))
有两个元组元素,但用逗号(,)
识别有多个元组并返回值为1。
len([[0, 1]])
是二维列表,返回值为1。