Python实现多属性排序的方法
作者:gymaisyl 发布时间:2021-03-11 02:13:57
标签:Python,多属性,排序
多属性排序:
把需要排序的属性拿出来作为一个 tuple,主要的放前面,次要的放后面。
假如某对象有n个属性,那么先按某规则对属性a进行排序,在属性a相等的情况下再按某规则对属性b进行排序,以此类推。
终端打印结果如下:
按照属性name进行排序:
按照ASCII进行排序,本案例中,按照小写字母的顺序进行排序;
按照属性name和age进行排序:
案例中,先斤=进行name进行排序后,再用age进行排序,我们看到的结果是:
主要是按照age进行排序,如果age相同,那么就按照name属性进行排序;
我们将代码进行简化,将多个需要进行排序的属性直接放在元组里传入:
打印结果如下:
我们会发现,一次性将多个属性传入后,它的打印结果和上面的不一样;原因是这样的,我们如果需要进行多属性的排序,那么,主要的条件应该放在前面,次要的放在后面:
修改代码如下:
结果如下,这就和我们想要的结果是一样的了
总结
以上所述是小编给大家介绍的Python实现多属性排序的方法网站的支持!
来源:https://blog.csdn.net/gymaisyl/article/details/84696755


猜你喜欢
- 前言HTML 5如同一场革命,正在Web2.0后时代轰轰烈烈的进行着。HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的
- 代码class Shuxing(): def __init__(self, size = 10): s
- 什么是进程进程就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及其他用于跟踪进程执行的辅
- 一 NULL 为什么这么经常用(1) java的nullnull是一个让人头疼的问题,比如java中的NullPointerExceptio
- 我对这两种连接方式认识不够深,似乎朋友们对此也没有定论。请问哪一种更好呢?DSN是采用数据源的连接方式,其使用方法是: Conn.
- 在Python2.x中表示八进制的方式有两种:以'0'开头和以'0o'(字母o)开头: Pyth
- 一、创建飞书机器人自定义飞书机器人操作步骤,具体详见飞书官方文档:《机器人 | 如何在群聊中使用机器人?》二、调用飞书发送消息自定义机器人添
- 我们先来看一个题目:<script> console.log(typeof a)//undefined var a='l
- 提到分发请求,相信大多数人首先会想到Nginx,Nginx作为一种多功能服务器,不仅提供了反向代理隐藏主机ip的能力,还拥有简单的缓存加速功
- #!/bin/perluse strict; use warnings; my %movies; my
- 前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控
- 如何用眼睛来控制鼠标?一种基于单一前向视角的机器学习眼睛姿态估计方法。在此项目中,每次单击鼠标时,我们都会编写代码来裁剪你们的眼睛图像。使用
- 1.创建空字典>>> dic = {}>>> type(dic)<type 'dict
- 软件版本Python 2.7.13; Win 10场景描述1、使用python读取指定长度的文本;2、使用python读取某一范围内的文本。
- 如果想对一个列表做实时的更新,传统的做法是采用轮询的方式。以web为例,通过Ajax定时请求服务端然后获取数据显示在页面。这种方式实现简单,
- 一天不小心把ROOT的权限改到最小了(只能登录,什么都做不了),这可急死我了.重装的话太麻烦,而且里面有很多的用户,一个个重新弄不知道到什么
- 1、给滚动条换色 好多网站的滚动条不是系统默认的灰色,而是一些红色、蓝色的,请问这是如何做的?答:这个很好实现,插入下面的代码:<&n
- 如何制作一个小巧的购物车?主程序如下:cartkit.aspClass CartKitSub CreateCart()&
- MYSQL的profiling功能要在Mysql版本5.0.37以上才能使用。查看profile是否开启mysql> show var
- 前言学习Python中,总想做个图形界面,找来找去,找到了tkinter。练习内容:图形界面中,点击按钮后,利用弹出对话框选择文件(或文件夹