在 Python 中计算元组列表中元组的出现次数

pythonserver side programmingprogramming更新于 2026/1/22 16:12:17

列表由元组作为其元素组成。在本文中,我们将计算列表中存在的唯一元组的数量。

使用 defaultdict

我们将给定的列表视为 defaultdict 数据容器,并使用 in 条件计算其中的元素。

示例

import collections
Alist = [[('Mon', 'Wed')], [('Mon')], [('Tue')],[('Mon', 'Wed')] ]
# 给定列表
print("给定列表:\n", Alist)
res = collections.defaultdict(int)
for elem in Alist:
   res[elem[0]] += 1
print("Count of tuples present in the list:\n",res)

输出

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

给定列表:
[[('Mon', 'Wed')], ['Mon'], ['Tue'], [('Mon', 'Wed')]]
Count of tuples present in the list:
defaultdict(, {('Mon', 'Wed'): 2, 'Mon': 1, 'Tue': 1})

使用 Counter 和 chain

counter 和 chain 函数是 collections 和 itertools 模块的一部分。结合使用它们,我们可以得到列表中每个元素(元组)的数量。

示例

from collections import Counter
from itertools import chain
Alist = [[('Mon', 'Wed')], [('Mon')], [('Tue')],[('Mon', 'Wed')] ]
# 给定列表
print("给定列表:\n", Alist)
res = Counter(chain(*Alist))
print("Count of tuples present in the list:\n",res)

输出

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

给定列表:
[[('Mon', 'Wed')], ['Mon'], ['Tue'], [('Mon', 'Wed')]]
Count of tuples present in the list:
Counter({('Mon', 'Wed'): 2, 'Mon': 1, 'Tue': 1})

相关文章


有用资源