python - 如何使用Python从大到小对可能的数据进行排序
问题描述
所以我有这个代码,我想从最大到最小整理 v 的值。
from itertools import product
from collections import Counter
from random import choice
import itertools
import random
import numpy as np
import numpy.random as random
import pandas as pd
import collections
y = []
for x in [(choice([i for i in range(1,10) if i not in [2]])) for j in range(5)]:
y.append(x)
a = collections.Counter(y)
for k,v in a.items():
b = sorted(v)
print(b)
我尝试使用 sorted 但我得到了一个像这样的错误:“ypeError: 'int' object is not iterable”
解决方案
像这样对值进行排序:
In [1066]: {k: v for k, v in sorted(a.items(), key=lambda item: item[1])}
Out[1066]: {3: 1, 4: 1, 1: 1, 6: 1, 9: 1}
或者,如果您只想要一个排序值列表,您可以简单地执行以下操作:
sorted(a.values())
推荐阅读
- javascript - 一键式按钮适用于大屏幕,但在手机设备上只有双击有效
- java - IllegalArgumentException:在为“XML 解析器不应易受 XXE 攻击”实施 sonarqube 解决方案时不支持
- sql-server - 从 XML 的所有路径中获取键的值
- javascript - 如何监视命名函数?
- r - 获取 read.csv 中与 write.csv 中相同的文件名
- swift - swift中集合视图单元格内的按钮操作
- json - 在 AppModule 中阅读 Appsetting - Angular 8
- amazon-web-services - Amazon Pinpoint 彩信通知?
- java - Java - 如何解密 Chrome cookie?
- python - 未定义的变量“json”