Chinaunix首页 | 论坛 | 博客
  • 博客访问: 454855
  • 博文数量: 101
  • 博客积分: 1547
  • 博客等级: 上尉
  • 技术积分: 1072
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 23:46
个人简介

music,code,dialog,rest

文章分类

全部博文(101)

文章存档

2023年(8)

2022年(25)

2021年(6)

2020年(2)

2019年(6)

2018年(4)

2017年(5)

2016年(20)

2015年(4)

2014年(2)

2013年(1)

2012年(1)

2011年(1)

2010年(1)

2009年(2)

2007年(10)

2006年(3)

分类: 大数据

2022-05-15 09:14:46

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

点击(此处)折叠或打开

  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 闭关修炼中


阅读(1210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~