在 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}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP