我创建了一个列表 - >
a = [[1,2,3],[4,5,6],[7,8,9]]
如何获取a中子列表的数量? 就像在这种情况下,它是3
我正在使用迭代器工具链来遍历此列表
for elt in itertools.chain.from_iterable(node):
有没有办法知道我是否已遍历子列表?
答案 0 :(得分:5)
与任何其他清单一样:
>>> len(a)
3
在异构列表中计算子列表的pythonic方法是:
>>> sum(isinstance(i, list) for i in a)
3
你的第二个问题不明确。你能不读你的代码?
答案 1 :(得分:5)
我找到了这个页面,试图学习如何获得所有子列表的总和。我发现这可以使用:
完成sum(len(x) for x in a)
也许这会帮助别人......
答案 2 :(得分:4)
sum(1 for x in a if isinstance(x, list))
这假定在。
没有。委派给itertools
通常意味着你放弃了解基本价值观。
答案 3 :(得分:0)
1)len(a)是3。
答案 4 :(得分:0)
子列表的数量是
len(a)
每个子列表都是列表中的一个元素,所以你在a中有三个元素,每个元素都是一个包含三个元素的列表(即数字)
答案 5 :(得分:0)
如果列表中存储了不同的类型,您可以通过这种方式进行子列表:
n=0
for b in a:
if type(b)==type([]):
n+=1
此外:
是的,sum(1 for x in a if isinstance(x, list))
更加pythonic
答案 6 :(得分:0)
仅从另一个角度考虑这个问题,
len(a[0][:])
例如,假设您的列表是这个
a = [[1,2,3],[4,5,6],[7,8,9],[7,8,111]]
所以列表a中有4个元素,因此列表a中的每个列表都有3个元素,
a = [[1,2,3],[4,5,6],[7,8,9],[7,8,111]]
print(len(a[0][:]))
将给我们3,这不同于len(a)
我相信您可以执行此操作以查看子字符串,这是我用于MATLAB的方法,并且也适用于python。