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