对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的情况下,需要自己选择特定的排序,也就是根据某一个具体的属性来排序,在网上找了下资料,一般来说有两种方法,但从根本上来说,还是调用了list.sort 方法来实现。下面是简单的测试代码片段:#coding:utf-8

class Person:

def __init__(self,name,age,salary):

self.name = name

self.age = age

self.salary = salary

obj_list = [

Person('juneys',20,30000),

Person('sam',20,20000),

Person('eddy',22,25000),

Person('eagle',25,10000)

]

#第一种方法

obj_list.sort(cmp=None, key=lambda x:x.salary, reverse=False)

print '***********第一种方法***********************'

for obj in obj_list:

print obj.name,obj.salary

# 第二种方法,更适合于大量数据的情况.

try:

import operator

except ImportError:

cmpfun= lambda x: x.count # use a lambda if no operator module

else:

cmpfun= operator.attrgetter("salary") # use operator since it's faster than lambda

obj_list.sort(key=cmpfun, reverse=True)

print '***********第二种方法***********************'

for obj in obj_list:

print obj.name,obj.salary

构造了一个 Person 类, 然后初始化一些对象放入obj_list 中, 然后想根据工资进行排序,方法一与方法二分别实现了升序或者降序。 以此类推还可以实现按年龄排序等.

本例结果如下:

***********第一种方法***********************

eagle 10000

sam 20000

eddy 25000

juneys 30000

***********第二种方法***********************

juneys 30000

eddy 25000

sam 20000

eagle 10000

python将对象放入列表根据某个属性排升序_对python 对象列表根据某个属性排序的方法...相关推荐

  1. python将对象放入列表根据某个属性排升序_python实现对象列表根据某个属性排序的方法详解...

    本文实例讲述了python实现对象列表根据某个属性排序的方法.分享给大家供大家参考,具体如下: 对于一个已有的python list, 里面的内容是一些对象,这些对象有一些相同的属性值, 在一些特定的 ...

  2. python将对象放入列表_将所有python-rom对象放入列表

    我正在使用烧瓶和Redis.我决定尝试使用rom redis orm(http://pythonhosted.org/rom/)来管理一些较为复杂的数据结构.我有一个对象列表,可以说: urls = ...

  3. python将对象放入列表根据某个属性排序_关于python:如何根据对象的属性对对象列表进行排序?...

    我有一个python对象列表,我想按对象本身的属性排序.列表如下: >>> ut [, , , , , , ...] 每个对象都有一个计数: >>> ut[1].c ...

  4. java把对象放入数组_如何将对象添加到数组

    使用Array.push()将任何东西放入数组. var a=[], b={}; a.push(b); // a[0] === b; 有关数组的更多信息 一次添加多个项目 var x = ['a']; ...

  5. python 将小图放入较大的白色或黑色背景图片

    将图片放入到白色或黑色背景图中,前提是图片小于背景图片的尺寸,原图为如下,长为192,宽为64. 1.将图片放入到白色背景图(224,224)中 import cv2 import numpy as ...

  6. 如何把对象放入spring容器

    在我们开发中,很常见的会遇见我们自己的对象依赖于Spring容器中的对象,此时需要将我们的对象托管给Spring容器,否则我们将无法使用依赖的对象. 下面介绍一下将我们的对象托管给Spring容器的三 ...

  7. python找列表中相邻数的个数_利用python求相邻数的方法示例

    前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的 ...

  8. python简述对象和类的关系_python 类的定义_类和对象的关系

    1.类和对象 我们把对象比作一个"饼干",类就是制作这个饼干的"模具". 我们通过类定义不同数据类型的属性(数据)和方法(行为),也就是说,"类将行为 ...

  9. staruml 为类的属性指定数据类型_关于python的数据类型

    一.数据类型的分类 取值方式 直接取值:数字 序列类型:list.tuple.deque.str.bytes.bytearray.array.array,可索引,有序.可切片 映射类型:dict.se ...

最新文章

  1. Debevec方法计算相机响应函数CRF
  2. android 组装xml,Android中组装xml文件内容
  3. 当 AI 开始“入侵”人类
  4. Magicodes.IE 3.0重磅设计畅谈
  5. 学而思网校python助手_学而思网校直播课堂
  6. ~~高精度除以低精度
  7. EDSR dataloader.py代码问题
  8. js基础-5-数据类型,作用域,优先级
  9. 关于趋势科技防毒墙网络版的卸载
  10. Servlet3异步原理
  11. python判断素数(质数):for-else循环的理解与示例应用
  12. spss进行多元线性回归并分析表格
  13. android启用hdcp_如何在Android Auto上启用开发人员设置
  14. linux v4l2-ctl,V4L2总结
  15. 落日海鸥(Seagulls)
  16. 【使用问题】密保邮箱接收不到验证码(解决办法)
  17. 课设复习之信息论固定算术编码与译码
  18. TI公司示例下载方式
  19. VMware Workstation Pro16 的下载与安装
  20. Flutter Icons图标库地址

热门文章

  1. 【Kafka】kafka 卡死 Discovered coordinator xx:9092 (id: xxx rack: null) for group xxx
  2. Spring : Spring 事务控制 设置手动回滚 TransactionAspectSupport
  3. 【Janino】Janino框架初识与使用教程
  4. Kudu报错:你的主机中的软件终止了一个已建立的链接
  5. Java web 中的 三层架构
  6. 面试官:Spring MVC的处理流程是怎样的?
  7. C语言购物篮解题思路,大型超购物篮问题分析数学建模.doc
  8. LeetCode第12题 整数转罗马数字
  9. ios - 高效,准确的网络检测
  10. opencv-Getting Started with Videos