在 Python 中计算列表内的唯一子列表

pythonserver side programmingprogramming更新于 2025/11/13 18:20:17

Python 列表也可以包含子列表。子列表本身是嵌套在更大列表中的列表。在本文中,我们将了解如何计算给定列表中唯一子列表的数量。

使用 Counter

Counter 是 Dictionary 的一个子类,用于跟踪元素及其计数。它也被视为无序集合,其中元素存储为 Dict 键,其计数存储为 dict 值。因此,在下面的示例中,我们直接获取一个包含子列表的列表。

示例

 from collections import Counter # 给定列表 Alist = [['Mon'],['Tue','Wed'],['Tue','Wed']] print(Counter(str(elem) for elem in Alist)) 

输出

运行上述代码得到以下结果 −

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

使用 append()

我们还可以遍历列表的元素并将其设置为元组,然后对同一元素的每次出现继续添加 1。最后打印新列表,显示子列表作为键,其计数作为值。

示例

# 给定列表
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed'], ['Tue','Wed']]

# 初始化列表
NewList = {}

# 通过迭代使用追加
for elem in Alist:
   NewList.setdefault(tuple(elem), list()).append(1)
for k, v in NewList.items():
   NewList[k] = sum(v)

# 打印结果
print(NewList)

输出

运行上述代码得到以下结果 −

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

相关文章


有用资源