簡體   English   中英

"如何計算嵌套列表中子列表的數量?"

[英]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

你的第二個問題不清楚。 你不能讀你的代碼嗎?

  1. sum(1 for x in a if isinstance(x, list))

    這假設 a 中可能有除列表之外的其他內容。

  2. 不。委托給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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM