在 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}
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

