(二十二)python 3 sort()与sorted()
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列
一,最简单的排序
1.使用sort排序
my_list = [3, 5, 1, 4, 2]
my_list.sort()
print (my_list) #输出: [1, 2, 3, 4, 5]
使用sort()方法对list排序会修改list本身,不会返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原来的list,sort()方法将更有效。
sort()不能对dict字典进行排序
2.使用sorted()排序,
my_list = [3, 5, 1, 4, 2]
result = sorted(my_list)
print (result) #输出: [1, 2, 3, 4, 5]
sorted()有返回值
my_dict = {"a":"1", "c":"3", "b":"2"}
result = sorted(my_dict)
print (result)
#输出: ['a', 'b', 'c']
对dict排序默认会按照dict的key值进行排序,最后返回的结果是一个对key值排序好的list
二,key参数
列表中包含元组,通过元组中某个元素进行排序;lambda x:x[元素位置]
# 列表中包含元组,通过元组中某个元素进行排序;lambda x:x[元素位置]
stu=[("winnie","A",12),("lucy","C",16),("john","B",14)]
stu.sort(key=lambda x:x[2])
print(stu)
s=sorted(stu,key=lambda x:x[1],reverse=True) #默认false ,升序
print(s) #结果
#[('winnie', 'A', 12), ('john', 'B', 14), ('lucy', 'C', 16)]
#[('lucy', 'C', 16), ('john', 'B', 14), ('winnie', 'A', 12)]
列表中包含字典,按照字典中某个key值进行排序 lambda x:x[key值]
# 列表中包含字典,按照字典中某个key值进行排序 lambda x:x[key值]
l1=[{'name0':'李丽','age':40}, {'name0':'张那','age':30},{'name0':'王原','age':50},{'name0':'王丽萍','age':50}]
l2=sorted(l1,key=lambda x:x['age'])
print(l2) # 结果:
# [{'name0': '张那', 'age': 30}, {'name0': '李丽', 'age': 40}, {'name0': '王原', 'age': 50}, {'name0': '王丽萍', 'age': 50}]
(二十二)python 3 sort()与sorted()的更多相关文章
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- 二十六. Python基础(26)--类的内置特殊属性和方法
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- 二十四. Python基础(24)--封装
二十四. Python基础(24)--封装 ● 知识结构 ● 类属性和__slots__属性 class Student(object): grade = 3 # 也可以写在__slots ...
- 二十二. Python基础(22)--继承
二十二. Python基础(22)--继承 ● 知识框架 ● 继承关系中self的指向 当一个对象调用一个方法时,这个方法的self形参会指向这个对象 class A: def get(s ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- Python中sort和sorted函数代码解析
Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...
- JAVA基础知识总结:一到二十二全部总结
>一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器( ...
随机推荐
- python之使用request模块发送post和get请求
import requestsimport json #发送get请求并得到结果# url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马 ...
- Codeforces 1107G(dp)
1.答案要取连续的区间疯狂暗示线段树. 2.外层枚举r,内层枚举l显然过于暴力. 3.考虑内层的优化.dp[i]:以第i位为结尾的答案(长度大于1的).dp[i] = max(第一种情况,第二种情况) ...
- 【Helvetic Coding Contest 2018】B2. Maximum Control (medium)
Description 传送门(翻译就别想了,本人英语太垃圾) Solution 设ans[i]为设置i个船时能控制的最多星球数(看到这你可能因为是dp,然而我可以很负责地告诉你是假的) 首先一个显然 ...
- h5-21-文件操作-读取文件内容
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 506 Relative Ranks 相对名次
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌.前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silve ...
- 前端打印console
很多时候,我们都想知道,是否已经选中或得到数据时,我们可以利用console 打印出来.console有几种方式使用.具体有: console.log($scope.getParkId); conso ...
- 在linux中使用多个redis端口来构建redis集群
大家好,这是我制作的redis集群搭建视频教程. 服务器:ubnutu server(版本18.10) redis:redis-4.0.12 我这里就简单说明下大概步骤了,详细请观看教学视频. 首先更 ...
- sql语句分为三类(DML,DDL,DCL)-介绍
本文知识来源自:<Oracle专家高级编程> 分享作者:Vashon 时间:20150415 DDL is Data Definition Language statements. Som ...
- C# 获取本机IP(优化项目实际使用版)
好一段时间没来更新博客了,因为密码实在记不住,烦死了,密码干脆直接用那个找回密码链接的一部分. 吐槽完说正事了,关于C# 获取本机IP的,最开始用的是下面的,但是因为获取IP的有点多,而且难判断,忽 ...
- 洛谷 P3178 [HAOI2015]树上操作
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a .操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 ...