如何在Python中排序更高,更低

时间:2013-08-13 06:46:24

标签: python sorting for-loop terminal

嗨我需要在 forloop 排序一个int值,我在终端上运行它,下面是代码

match = myworld.objects.filter(series=1)
for i in match:
    print i.w

结果如

34
32
24
39
32
33
36
33
23
34
38
38
32
31
30
34
30
30
31
36
31
35
33
43

请告诉我如何对它们进行排序,以便我可以更低更高或更高以降低 感谢

2 个答案:

答案 0 :(得分:3)

从低到高

from operator import attrgetter
for i in sorted(match, key=attrgetter('w')):

从高到低

for i in sorted(match, key=attrgetter('w'), reverse=True):

如果您不需要这些对象,您也可以只对您感兴趣的属性进行排序

for i in sorted(x.w for x in match):

答案 1 :(得分:1)

for i in sorted(match, key=lambda x: x.w):

Sorted可以通过一个关键函数来了解排序的内容,在您的情况下,匹配中每个项目的w属性。