转自:https://blog.csdn.net/u010758410/article/details/79737498

    

当带排序列表的元素由多字段构成时,我们可以通过sorted(iterable ,key ,reverse)的参数key来

制定我们更具那个字段对列表进行排序。

          语法格式:   key = lambda 元素:元素 [ 字段索引 ]

           例如: 相对元素第二个字段排序,则  key = lambda y:y[1]  备注: 这里y可以是任意字母,等同 key = lambda x : x[1]

           几个简单的例子:

  

# -*- coding: utf-8 -*-
'''
使用sort中的key关键字 对list进行排序
''' listA = [3,6,1,0,10,8,9]
print(sorted(listA)) listB = ['g','e','t','b','a']
print(sorted(listB))
print(sorted(listB,key=lambda y:y[0])) listC = [('e',4),('o',2),('!',5),('v',3),('',1)] print(sorted(listC,key=lambda x:x[1]))

 执行的效果  可以看到 list按照 lambda 表达式指定的字段进行排序

[0, 1, 3, 6, 8, 9, 10]
['a', 'b', 'e', 'g', 't']
['a', 'b', 'e', 'g', 't']
[('1', 1), ('o', 2), ('v', 3), ('e', 4), ('!', 5)]

  

Python3 list sort排序的更多相关文章

  1. 2.sort 排序命令讲解

    sort命令  sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码     的字符升序来排列的.        -n:安装数值大小从小到大排列 ,默认是升序.     ...

  2. 反向输出及sort排序

    建立条件:#include "algorithm"引用这个头文件 1.reverse 的用法,反向排序,由自己输入5个数: 1 2 3 4 5 for (int i = 0; i ...

  3. JAVA Collections工具类sort()排序方法

    主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends ...

  4. javascript:算法之数组sort排序

    数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...

  5. sort排序

    /*问题 L: 使用sort排序题目描述标准库的sort函数给我们提供了一个很方便的排序的方法,光听别人说方便不顶事,得自己亲自实践一下才能体会到它的方便之处. 输入每组包含多组数据,每组数据第一行包 ...

  6. [转] C++的STL库,vector sort排序时间复杂度 及常见容器比较

    http://www.169it.com/article/3215620760.html http://www.cnblogs.com/sharpfeng/archive/2012/09/18/269 ...

  7. List<T>.Sort() 排序的用法

    List<T> 可以通过 .Sort()进行排序,但是当 T 对象为自定义类型时(比如自定义模型),就需要 IComparable接口重写其中的方法来实现,实现代码如下: class Pr ...

  8. sort排序中的坑

    问题的产生原因: 在一篇阿里面试题的跟帖中,很多人应用sort()方法对数组进行排序.看似合情合理的代码,运行结果却频频出错.为什么呢?因为很多人都忽略掉了一点,那就是sort()排序默认情况下是按A ...

  9. STL vector+sort排序和multiset/multimap排序比较

    由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...

随机推荐

  1. Swift 了解(3)

    类(Classes) 假设你是一个建筑师,你刚刚签了一个合同,要在一个新的小区修建20个相似的房子.在你派出建筑工队之前,你必须要画一个房子的设计图.这份设计图将会展现房子的外表和功能.把这份设计图当 ...

  2. VM VirtualBox 全屏模式 && 自动缩放模式 相互切换

    [1]自动缩放模式 热键Host + C 偶然一次机会,把虚拟机切换为了自动缩放模式,如下图: 想要再切换为全屏模式,发现不知如何操作,后来折腾了一会儿,切换成功.以此备录一下. [2]切换为全屏模式 ...

  3. freedom is a kind of responsibility

    张维迎教授在2017年7月1日北大国发院2017届毕业典礼上的发言<自由是一种责任> 张维迎:自由是一种责任    本文为张维迎教授在2017年7月1日北大国发院2017届毕业典礼上的发言 ...

  4. TCP协议的三次握手

    TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输. l  IP地址:用来唯一表示我们自己的电脑的,是一个网络标示 ...

  5. Linux基础命令---管理组gpasswd

    gpasswd gpasswd指令用来管理组文件“/etc/group”和“/etc/gshadow”,每个组可以设置管理员.组员.密码.系统管理员可以使用-A选项定义组管理员,使用-M选项定义成员. ...

  6. 找不到命令 ifconfig

    centos 7中自带的查看网络的命令是: ip addr 如果还是想要 ifconfig 安装net-tools yum install net-tools

  7. VisualSVN Server 服务器搭建 和 TortoiseSVN的配置和使用方法

    摘自:https://blog.csdn.net/litaoshoujiao/article/details/8526136 一.VisualSVN Server的配置和使用方法[服务器端] 安装好V ...

  8. Linux网络管理(一):网卡驱动与Linux内核

    下图简单描述了网卡驱动与Linux内核之间的联系: 关于上图的一些说明: 系统初始化: 1. 协议模块调用 dev_add_pack() 来注册协议处理函数到链表 &ptype_base: 2 ...

  9. Vue小案例 之 商品管理------修改商品数量以及增加入库日期属性

    实现修改商品的数量: 加入的代码: css: .clear-btn{ text-align: right; padding-right: 10px; } .table-warp a{ text-dec ...

  10. 点击button后刷新了页面

    今天遇到一个特别奇怪的事,在页面中使用button标签,添加了点击事件onclic,点击的时候倒是执行了绑定的方法,但页面被刷新了! 什么鬼?我没与提交表单啊! 原来,button默认具有提交表单的动 ...