在 Python 中計算列表中唯一的子列表


Python 列表還可以包含子列表。子列表本身巢狀在一個更大的列表中。在本文中,我們將瞭解如何在給定的列表中統計唯一的子列表數。

使用 Counter

Counter 是 Dictionary 的子類,用於跟蹤元素及其數量。它還被視為無序集合,其中元素作為 Dict 鍵儲存,其計數作為 dict 值儲存。因此,在下面的示例中,我們直接獲取一個有子列表的列表。

示例

 即時演示

from collections import Counter
# Given List
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed']]
print(Counter(str(elem) for elem in Alist))

輸出

執行上面的程式碼,將得到以下結果 −

Counter({"['Tue', 'Wed']": 2, "['Mon']": 1})

使用 append()

我們還可以遍歷列表中的元素,將其設定為元組,然後在相同元素的每次出現時新增 1。最後列印顯示子列表作為鍵和其計數作為值的新列表。

示例

 即時演示

# Given List
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed'], ['Tue','Wed']]

# Initialize list
NewList = {}

# Use Append through Iteration
for elem in Alist:
   NewList.setdefault(tuple(elem), list()).append(1)
for k, v in NewList.items():
   NewList[k] = sum(v)

# Print Result
print(NewList)

輸出

執行上面的程式碼,將得到以下結果 −

{('Mon',): 1, ('Tue', 'Wed'): 3}

更新於: 09-9-2020

462 次瀏覽

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.