在Python中的元组列表中查找频率
在python中,许多不同类型的数据容器可能会混杂在一起。列表可以包含每个元素都是元组的元素。在本文中,我们将采用这样的列表,并在元组中查找元素的频率,而元组本身就是列表的元素。
使用计数和映射
我们应用一个lambda函数来计算列表中存在的元组中的每个第一个元素。然后应用映射函数得出我们要搜索的元素的总数。
示例
# initializing list of tuples listA = [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] # Given list print("Given list of tuples : " ,listA) # Frequency in list of tuples Freq_res = list(map(lambda i: i[0], listA)).count('Apple') # printing result print("The frequency of element is : ",Freq_res)
输出结果
运行上面的代码将为我们提供以下结果:
Given list of tuples : [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] The frequency of element is : 2
带柜台
我们还可以实现Counter来计算元素出现的次数。我们使用for循环遍历列表中存在的每个元组。
示例
from collections import Counter # initializing list of tuples listA = [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] # Given list print("Given list of tuples : " ,listA) # Frequency in list of tuples Freq_res = Counter(i[0] for i in listA)['Apple'] # printing result print("The frequency of element is : ",Freq_res)
输出结果
运行上面的代码给我们以下结果-
Given list of tuples : [('Apple', 'Mon'), ('Banana', 'Tue'), ('Apple', 'Wed')] The frequency of element is : 2