Python|在元组列表中查找频率
在Python中,我们需要处理各种形式的数据,其中之一是元组列表,我们可能必须在其中执行任何类型的操作。这篇特别的文章讨论了在可以扩展到任何索引的元组列表中查找第一个元素的频率的方法。让我们讨论可以执行此操作的某些方式。
方法 #1:使用map() + count()
map函数可用于累积列表中所有元组的索引,并且可以使用Python库的通用计数函数来完成计算频率的任务。
# Python3 code to demonstrate
# finding frequency in list of tuples
# using map() + count()
# initializing list of tuples
test_list = [('Geeks', 1), ('for', 2), ('Geeks', 3)]
# printing the original list
print ("The original list is : " + str(test_list))
# using map() + count()
# finding frequency in list of tuples
res = list(map(lambda i : i[0], test_list)).count('Geeks')
# printing result
print ("The frequency of element is : " + str(res))
输出:
The original list is : [('Geeks', 1), ('for', 2), ('Geeks', 3)]
The frequency of element is : 2
方法 #2:使用Counter()
+ 列表推导
列表理解执行获取元组的第一个元素的任务,计数部分由集合库的 Counter函数处理。
# Python3 code to demonstrate
# finding frequency in list of tuples
# using Counter() + list comprehension
from collections import Counter
# initializing list of tuples
test_list = [('Geeks', 1), ('for', 2), ('Geeks', 3)]
# printing the original list
print ("The original list is : " + str(test_list))
# using Counter() + list comprehension
# finding frequency in list of tuples
res = Counter(i[0] for i in test_list)
# printing result
print ("The frequency of element is : " + str(res['Geeks']))
输出:
The original list is : [('Geeks', 1), ('for', 2), ('Geeks', 3)]
The frequency of element is : 2