python2排序
python list cmp排序
对于list的排序一般使用cmp
示例:
sorted(xxlist, cmp=self.sortFunc)
def sortFunc(self, a, b):
return a - b
返回值代表的顺序和lua与C#是一致的,可见我之前的博客《c#_sort排序函数的返回值 - 赵青青 - 博客园 (cnblogs.com)》
| 值 | 含义 |
|---|---|
| 小于零 | left在right的前面 |
| 零 | 位置不变 |
| 大于零 | right在left的前面 |
不过python3丢弃掉这这种用法了
对python dict排序
python中对dict排序一般有两种方法:
- 使用lambda
- 使用itemgetter
lambda排序
list中的元素是个dict
list.sort(cmp=lambda x,y: cmp(x.get('rank'), y.get('rank')))
Itemgetter对dict的多个key排序
from operator import itemgetter
record_data_list = [ record for record in record_data.values() if record.get('role', '') ]
record_data.sort(key=itemgetter('kill', 'dmg', 'heal'), reverse=True) # 按击杀, 伤害到治疗排名
可以使用 Itemgetter 代替 lambda 函数来实现类似的功能。输出方式与 sorted() 和 lambda 相同,但内部实现不同。它获取字典的键并将它们转换为元组。它减少了开销,速度更快,效率更高。必须导入“运算符”模块才能正常工作(from operator import itemgetter)
- 性能:itemgetter 在时间上下文中比 lambda 函数表现更好。
- 简洁: :在访问多个值时,itemgetter 看起来比 lambda 函数更简洁。
Ways to sort list of dictionaries by values in Python – Using itemgetter - GeeksforGeeks
排在最前面
对于想把某个数排在最前面,我建议不要用排序了,直接从列表中删除它,再往首位添加才是最快的。
python2排序的更多相关文章
- 【原创】基于日志增量,统计qps,并基于ip排序
增量统计日志行数(只统计上一秒) dns_qps.py #!/usr/bin/env python #_*_coding:utf-8_*_ import datetime import re impo ...
- Python list列表的排序
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...
- python sorted排序
python sorted排序 Python不仅提供了list.sort()方法来实现列表的排序,而且提供了内建sorted()函数来实现对复杂列表的排序以及按照字典的key和value进行排序. s ...
- Python2.4-原理之函数
此节来自于<Python学习手册第四版>第四部分 一.函数基础 函数的作用在每个编程语言中都是大同小异的,,这个表是函数的相关语句和表达式. 1.编写函数,a.def是可执行代码,pyth ...
- Python2.6-原理之类和oop(下)
来自<python学习手册第四版>第六部分 五.运算符重载(29章) 这部分深入介绍更多的细节并看一些常用的重载方法,虽然不会展示每种可用的运算符重载方法,但是这里给出的代码也足够覆盖py ...
- 【转】Python 列表排序
很多时候,我们需要对List进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序 方法2.用built-in函数sorted进行排序(从2 ...
- 使用Python在2M内存中排序一百万个32位整数
译言网 | 使用Python在2M内存中排序一百万个32位整数 使用Python在2M内存中排序一百万个32位整数 译者:小鼠 发表时间:2008-11-13浏览量:6757评论数:2挑错数:0 作者 ...
- python 使用内置函数sorted对各种数据类型进行排序
python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数. 区别1:list.sort()函数只能处理list类型数据的排序:sorted()则可以处理多 ...
- Python实现八大排序算法(转载)+ 桶排序(原创)
插入排序 核心思想 代码实现 希尔排序 核心思想 代码实现 冒泡排序 核心思想 代码实现 快速排序 核心思想 代码实现 直接选择排序 核心思想 代码实现 堆排序 核心思想 代码实现 归并排序 核心思想 ...
- day 14 三元运算符,列表字典推导式,递归,匿名函数,内置函数(排序,映射,过滤,合并)
一.三元运算符 就是if.....else..... 语法糖 前提:if和else只有一条语句 #原始版 cmd=input('cmd') if cmd.isdigit(): print('1') e ...
随机推荐
- 火山引擎 DataLeap:如何构建一套完整、易用的数据标准体系
数据标准是数据治理体系中的核心要素之一. 一方面,统一的数据标准可以在复杂的业务场景下,帮助团队对齐数据口径,提升数据在分析.诊断等场景的质量与效率:另一方面,数仓团队与分析师团队也需要沉淀一套敏 ...
- HanLP — HMM隐马尔可夫模型 -- 语料库
隐马尔可可夫模型(Hidden Markov Model,HMM)是统计模型,用于描述一个含有隐含未知参数的马尔可夫过程. HMM由初始概率分布.状态转移概率分布和观测概率分布确定. BMES =&g ...
- PPT 放映时字体缺失怎么办
PPT 放映时字体缺失怎么办 文字转成图片 嵌入字体 没有版权的不给嵌入 安装字体 http://www.hellofont.cn 在线使用安装字体
- Python异步编程之yield from
yield from 简介 yield from 是Python3.3 后新加的语言结构,可用于简化yield表达式的使用. yield from 简单示例: >>> def gen ...
- C++11实用特性2
1 可调用对象包装器.绑定器 1可调用对象 C++中的可调用对象分为四类: 函数指针: 任何一个函数都可以抽象成一个函数指针 int print(int a, double b) { cout < ...
- 将应用程序注册为Linux系统服务,并设置开机自启动
1.新建服务文件 vim /usr/lib/systemd/system/statagent.service 其中statagent是自定义的服务名称 2.文件内容 [Unit] Descriptio ...
- SpringCloud Alibaba技术栈(二)Nacos服务治理
源码-笔记:Code for Github 第二章 Nacos服务治理 1. 模块设计与实现 ①首先创建maven项目,此项目作为父工程.把src文件夹删掉,修改pom文件,添加依赖版本控制,控制子模 ...
- L2-008 最长对称子串 (回文子串 / DP / Manacher算法)
对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...
- 浏览器,navicat,IDEA--快捷键
mysql快捷键:ctrl+r 运行查询窗口的sql语句ctrl+shift+r 只运行选中的sql语句ctrl+q 打开一个新的查询窗口ctrl+w 关闭一个查询窗口ctrl+/ 注释sql语句 c ...
- 5 Englishi 词根
词根 1 ced/cess = go 行走 precede pre=before ced =go unprecedentedly un pre ced +ed变成adj +ly 变 ...