计算Python列表中的唯一子列表
Python列表也可以包含子列表。子列表本身就是嵌套在更大列表中的列表。在本文中,我们将看到如何计算给定列表中唯一子列表的数量。
使用计数器
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}