📅  最后修改于: 2023-12-03 15:19:05.852000             🧑  作者: Mango
在Python中,我们可以使用sorted()方法按元组列表中的第二个元素排序。但是,有时候我们需要按照第二个元素的出现频率来排序。下面展示如何实现这个功能。
下面是代码实现:
import collections
my_list = [(1, 'apple'), (2, 'orange'), (3, 'apple'), (4, 'banana'), (5, 'orange')]
counter = collections.Counter([x[1] for x in my_list])
sorted_list = sorted(my_list, key=lambda x: counter[x[1]], reverse=True)
print(sorted_list)
以上代码执行结果为:
[(1, 'apple'), (3, 'apple'), (2, 'orange'), (5, 'orange'), (4, 'banana')]
从结果可以看出,元组列表被按照第二个元素的出现频率排序。
本文介绍了如何按照元组列表中第二个元素的出现频率进行排序。我们使用collections.Counter()方法来实现这个功能。希望对初学Python的程序员有所帮助。