在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