python sorted排序用法详解
sorted排序
1. operator函数
在介绍sorted函数之前需要了解一下operator函数。
operator函数是python的内置函数,提供了一系列常用的函数操作
比如,operator.mul(x, y)等于x+y
- a = [,,]
- b = [,,]
- c = map(operator.mul, a, b)
- ,,]
- >>> b=operator.itemgetter() //定义函数b,获取对象的第个域的值
- >>> b(a)
- >>> b=operator.itemgetter(,) //定义函数b,获取对象的第个域和第个的值
- >>> b(a)
- (, )
2. sorted函数
函数介绍:Built-in Function
官网示例:Sorting HOW TO?
函数原型:sorted(iterable[, cmp[, key[, reverse]]])
Return a new sorted list from the items in iterable.(会返回一个重新排列好的list)
iterable(可迭代):可以是list也可以是dict
cmp:可以自定义比较规则,这里不详细叙述
key:用于比较的值
reverse:指定是顺序还是逆序
下面以dict排序为例做讲解:
- c = {, , , }
- d = sorted(c.iteritems(),key=operator.itemgetter(),reverse=), (), (), ()]
- e = sorted(c.iteritems(),key=operator.itemgetter(),reverse=),reverse=), (), (), ()]
看到这你会不会觉得operator的itemgetter函数可以用lambda函数实现:我们可以将上面的示例改成lambda
- d = sorted(c.iteritems(),key=],reverse=), (), (), ()]
你看结果是一样一样的。
文章参考:
Python中的sorted函数以及operator.itemgetter函数
python中的operator库
python sorted排序用法详解的更多相关文章
- python操作redis用法详解
python操作redis用法详解 转载地址 1.redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用 ...
- python的requests用法详解
Requests是一个Python语言写的http相关设置或者请求的一个库 安装:pip install Requests或者pip3 install requests 使用的时候要import re ...
- 【python】self用法详解
在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance). 类是抽象的模板,比如学生这个抽象的事物,可以用一 ...
- Python中enumerate用法详解
enumerate()是python的内置函数.适用于python2.x和python3.xenumerate在字典上是枚举.列举的意思enumerate参数为可遍历/可迭代的对象(如列表.字符串)e ...
- Python中with用法详解
一 .with语句的原理 上下文管理协议(Context Management Protocol):包含方法 __enter__()和__exit__(),支持该协议的对象要实现这两个方法. 上下文管 ...
- Python 注释(Python Comments)用法详解
目录 1 Python 注释概述 2 Python 注释的作用 2.1 调试代码 2.2 提高程序的可读性 3 Python 单行注释 3.1 Python 单行注释概述 3.2 单行注释注释单行代码 ...
- [转]使用python来操作redis用法详解
转自:使用python来操作redis用法详解 class CommRedisBase(): def __init__(self): REDIS_CONF = {} connection_pool = ...
- 【python】redis基本命令和基本用法详解
[python]redis基本命令和基本用法详解 来自http://www.cnblogs.com/wangtp/p/5636872.html 1.redis连接 redis-py提供两个类Redis ...
- python format 用法详解
format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版 ...
随机推荐
- Vue框架Element的事件传递broadcast和dispatch方法分析
前言 最近在学习饿了么的Vue前端框架Element,发现其源码中大量使用了$broadcast和$dispatch方法,而Element使用的是Vue2.0版本,众所周知在Vue 1.0升级到2.0 ...
- 安卓TCP通信
tCPServer.java 服务器的两个socket都没有关闭:s,ss.两个都是一直开启,然后数据才有显示 class tcpServer { public static void main(St ...
- 使用ViewPagerAdapter 页面引导适配器设置app启动页,引导页面的实现
一般的app第一次安装启动的时候,都会有一个启动页面和引导页的画面,然后才进入主程序.anndroid中的ViewPagerAdapter 是一个继承与PageAdapter的 页面引导适配器.由于我 ...
- LAMP学习小记
记录今天学习到的解决LAMP环境搭建的两个小问题: 问题1.xshell无法连接到虚拟机上的linux主机 解决方法: (1)进入网络配置文件: vi /etc/sysconfig/network-s ...
- PPT中翻书动画的制作
一.新建一个空白的PowerPoint文档. 二.制作两个页面: 1.点击“自选图形”右边的小三角,选择“基本图形”下的“折角形”图形,在PowerPoint中画出一个书页样的图形,宽度最好小 ...
- DevExpress 控件使用之GridControl基本属性设置
DEV控件:gridControl常用属性设置 1.隐藏最上面的GroupPanel(实现方法两种) ①代码实现:gridView1.OptionsView.ShowGroupPane ...
- 【Java基础】 static
static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念.被 ...
- ADO.net参数化查询陷阱
避免SQL漏洞注入攻击,往往采用的是参数化查询!然而在使用参数化查询中,往往为了方便就直接通过构造方法来进行数据的初始化了,然而这样就引发一个这样的问题,当参数值为0时,就出现参数为空的情况了. 一. ...
- 前端基本知识(四):JS的异步模式:1、回调函数;2、事件监听;3、观察者模式;4、promise对象
JavaScript语言将任务的执行模式可以分成两种:同步(Synchronous)和异步(Asychronous). “同步模式”就是一个任务完成之后,后边跟着一个任务接着执行:程序的执行顺序和排列 ...
- Junit使用教程
Junit是Java的单元测试工具,同时也是极限编程的好帮手.Junit4借助于Java5的Annotation(标注类)和静态导入的新特性,与Junit3有很大的区别,所以建议初学者直接使用Juni ...