python中单个子列表的长度

时间:2018-11-23 01:09:31

标签: python list sublist

假设我有一个包含3个子列表的列表

a = [[1,1,1],[1,1,1],[1,1,1]]

如果我使用命令len(a[0:2]) 我得到答案2(因为列表中有两个元素(子列表))

但是当我做len(a[2])并想得到答案1时(因为列表中只有一个元素(子列表)),我实际上得到了第三个列表的长度(在这种情况下为3) 。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

您必须指定要查看的范围。

len(a[1:2])应该可以解决问题。

len(a[x:y])仅表示“ a从元素x到y的长度(不包括)”

因此,如果您执行len(a[2:2]),则输出为0。

答案 1 :(得分:0)

您可以使用:

print(len(a[2:3]))

或者如果要内置它,请执行以下功能:

_len=len
def len(l):
    if _len(l)==0:
        return 0
    elif isinstance(l[0],list):
        return _len(l)
    return _len([l])

a=[[1,1,1],[1,1,1],[1,1,1]]
print(len(a[2]))

两个输出:

1

答案 2 :(得分:0)

您需要使用len(a[2:3])

 a = [[1,2,3],[4,5,6],[7,8,9]]

a[2]
>>> [7, 8, 9] 

len(a[2])
>>> 3

a[2:3]
>>> [[7, 8, 9]] 

len(a[2:3])
>>> 1