python 中单个子列表的长度

Length of a single sublist in python

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

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

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

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

我该如何解决这个问题?

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

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

len(a[x:y]) 简单的意思是 "the length of a from element x to y (non-inclusive)"

所以如果你这样做 len(a[2:2]) 输出是 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

您需要使用 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