![](/img/trans.png)
[英]Count the amount of lists in a list (nested list) for each length Python
[英]How to count the amount of sub lists in a nested list?
我創建了一個列表:
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
我發現這個頁面是為了學習如何獲得所有子列表的總和。 我發現這可以使用:
sum(len(x) for x in a)
也許這會幫助別人......
與任何其他列表一樣:
>>> len(a)
3
在異構列表中計算子列表的pythonic方法是:
>>> sum(isinstance(i, list) for i in a)
3
你的第二個問題不清楚。 你不能讀你的代碼嗎?
sum(1 for x in a if isinstance(x, list))
這假設 a 中可能有除列表之外的其他內容。
不。委托給itertools
通常意味着您放棄了解有關潛在價值的任何信息。
1) len(a) 是 3。
子列表的數量是
len(a)
每個子列表都是列表中的一個元素,因此您在 a 中有三個元素,每個元素都是一個包含三個元素(數字)的列表
如果不同的類型存儲在一個列表中,你可以這樣子列出:
n=0
for b in a:
if type(b)==type([]):
n+=1
另外:
是的, sum(1 for x in a if isinstance(x, list))
更像 Pythonic
只是為了說明這個問題的另一個方面,
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。
一種方法是使用map<\/strong>函數,如下所示:
sum(map(len, a))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.