【发布时间】:2012-05-18 18:23:54
【问题描述】:
我有一个对象列表。每个对象都有一个属性“优先级”,其值可能是低、中、高。我需要对对象列表进行排序,以便优先级“高”的对象在列表中排在第一位,并且然后是优先级为“中”的对象,最后是优先级为“低”的对象。我知道我可以使用几个 for 循环来做到这一点,但我想要一个快速有效的 Python 解决方案。对不起,但我是 Python 的初学者。
【问题讨论】:
标签: python sorting jquery-ui-sortable
我有一个对象列表。每个对象都有一个属性“优先级”,其值可能是低、中、高。我需要对对象列表进行排序,以便优先级“高”的对象在列表中排在第一位,并且然后是优先级为“中”的对象,最后是优先级为“低”的对象。我知道我可以使用几个 for 循环来做到这一点,但我想要一个快速有效的 Python 解决方案。对不起,但我是 Python 的初学者。
【问题讨论】:
标签: python sorting jquery-ui-sortable
非常感谢。赞成 pythonic 解决方案。
我使用了排序的变体。
sorted(myList, key = lambda x : score[x.priority])
【讨论】:
score = dict(high=0, medium=1, low=2)
mylist.sort(key=lambda x: score[x.priority])
【讨论】: