如何对自定义的对象数组进行排序?
-
# Python3.8
-
# Sorting Array in Ascending Order
-
lst = [-1,200,1,100,50]
-
lst.sort()
-
print(lst)
-
-
# Output
-
# [-1, 1, 50, 100, 200]
-
# Python3.8
-
# Sorting Array in Descending Order
-
lst = [-1,200,1,100,50]
-
lst.sort(reverse=True)
-
print(lst)
-
-
# Output
-
# [200, 100, 50, 1, -1]
组合式对象
-
# Python3.8
-
# Sorting Object Array in Ascending Order
-
-
def customSort(k):
-
return k['value']
-
-
lstObj = [{'value' : -1},{'value' : 200},{'value' : 1},{'value' : 100},{'value' : 50}]
-
lstObj.sort(key=customSort)
-
print(lstObj)
-
-
# Output
-
# [{'value': -1}, {'value': 1}, {'value': 50}, {'value': 100}, {'value': 200}]
终于可以按任意字段进行排序了。
这里,k为数组列表中的元素对象。
对象,可以为任意对象,这里只是含有一个元素的字典{’value':1},当然也可以为复杂对象。通过统一的方法,从对象中取出关键字段值,进行排序。用这个排序的结果,决定对象在整体数组中的位置排列。
zenith
2022/5/15 闭关修炼中
阅读(1210) | 评论(0) | 转发(0) |