📌  相关文章
📜  Python – 按元组列表中第二个元素的频率排序(1)

📅  最后修改于: 2023-12-03 15:19:05.852000             🧑  作者: Mango

Python – 按元组列表中第二个元素的频率排序

在Python中,我们可以使用sorted()方法按元组列表中的第二个元素排序。但是,有时候我们需要按照第二个元素的出现频率来排序。下面展示如何实现这个功能。

实现步骤
  1. 定义一个元组列表
  2. 使用collections.Counter()方法统计第二个元素出现的频率
  3. 使用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的程序员有所帮助。