0

嗨,我需要在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

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

4

2 回答 2

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):
于 2013-08-13T06:51:00.393 回答
1
for i in sorted(match, key=lambda x: x.w):

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

于 2013-08-13T06:51:25.853 回答