python任意对象数组客户化字段排序

1290阅读 0评论2022-05-15 zenith518
分类:大数据

如何对自定义的对象数组进行排序?

点击(此处)折叠或打开

  1. # Python3.8
  2. # Sorting Array in Ascending Order
  3. lst = [-1,200,1,100,50]
  4. lst.sort()
  5. print(lst)

  6. # Output
  7. # [-1, 1, 50, 100, 200]

点击(此处)折叠或打开

  1. # Python3.8
  2. # Sorting Array in Descending Order
  3. lst = [-1,200,1,100,50]
  4. lst.sort(reverse=True)
  5. print(lst)

  6. # Output
  7. # [200, 100, 50, 1, -1]
组合式对象

点击(此处)折叠或打开

  1. # Python3.8
  2. # Sorting Object Array in Ascending Order

  3. def customSort(k):
  4.     return k['value']

  5. lstObj = [{'value' : -1},{'value' : 200},{'value' : 1},{'value' : 100},{'value' : 50}]
  6. lstObj.sort(key=customSort)
  7. print(lstObj)

  8. # Output
  9. # [{'value': -1}, {'value': 1}, {'value': 50}, {'value': 100}, {'value': 200}]
终于可以按任意字段进行排序了。
这里,k为数组列表中的元素对象。
对象,可以为任意对象,这里只是含有一个元素的字典{’value':1},当然也可以为复杂对象。通过统一的方法,从对象中取出关键字段值,进行排序。用这个排序的结果,决定对象在整体数组中的位置排列。

zenith
2022/5/15 闭关修炼中


上一篇:VBA指定Range的几种方法
下一篇:python list 快速删除重复值