对 Python 中元组列表中的元组进行计数


列表的元素是元组形式的。在本文中,我们将对列表中出现的唯一元组数进行计数。

使用 defaultdict

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

示例

 动态展示

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

输出

对以上代码进行运行,结果如下 −

Given list:
[[('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')] ]
# Given list
print("Given list:\n", Alist)
res = Counter(chain(*Alist))
print("Count of tuples present in the list:\n",res)

输出

对以上代码进行运行,结果如下 −

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

更新于:2020 年 6 月 4 日

453 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告