不同的返回值len(元组的元组)和len(列表的列表)

时间:2018-04-18 02:01:33

标签: python python-2.7

我想知道只有一个元素的元组元组的长度 len(((0, 1))) 但是如果我修改为len(((0, 1),))然后返回1

,则此语句返回2

然而len([[0, 1]])直接返回1

我可以知道这里的区别吗?

2 个答案:

答案 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。