我有一个对象列表。每个对象都有一个属性“priority”,其值可以是low,medium,high。我需要对对象列表进行排序,以便优先级为“high”的对象在列表中排在第一位。然后优先级为“medium”的对象和最后优先级为“low”的对象。我知道我可以使用少量for循环来做到这一点,但我想要一个快速有效的pythonic解决方案。但是我是python的初学者。
答案 0 :(得分:5)
score = dict(high=0, medium=1, low=2)
mylist.sort(key=lambda x: score[x.priority])
答案 1 :(得分:0)
非常感谢。赞成pythonic解决方案。
我使用了已排序的变体。
sorted(myList, key = lambda x : score[x.priority])