在 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}
广告