python Counter 排序 根据键,值排序
时间: 2024-02-29 09:52:44 浏览: 302
如果想要根据Counter对象中的键或值进行排序,可以使用sorted()函数的key参数。key参数接受一个函数作为输入,并根据该函数的返回值进行排序。我们可以使用lambda表达式来定义这个函数,以实现根据键或值进行排序。
根据键排序:
```python
from collections import Counter
my_list = [1, 2, 3, 1, 2, 3, 4, 5, 1, 2, 3, 1]
my_counter = Counter(my_list)
sorted_list = sorted(my_counter.items(), key=lambda x: x[0])
print(sorted_list)
```
输出结果为:
```
[(1, 4), (2, 3), (3, 3), (4, 1), (5, 1)]
```
上述代码中,我们使用sorted()函数对Counter对象中的元素进行排序,根据元组的第一个元素(即键)进行升序排序,最后得到一个元素和出现次数的元组列表。
根据值排序:
```python
from collections import Counter
my_list = [1, 2, 3, 1, 2, 3, 4, 5, 1, 2, 3, 1]
my_counter = Counter(my_list)
sorted_list = sorted(my_counter.items(), key=lambda x: x[1], reverse=True)
print(sorted_list)
```
输出结果为:
```
[(1, 4), (2, 3), (3, 3), (4, 1), (5, 1)]
```
上述代码中,我们使用sorted()函数对Counter对象中的元素进行排序,根据元组的第二个元素(即值)进行降序排序,最后得到一个元素和出现次数的元组列表。
阅读全文