首页 > 解决方案 > 如何使用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”

标签: python

解决方案


像这样对值进行排序:

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())

推荐阅读