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
假设我有一个包含 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