内置函数系列之 sorted排序
sorted排序函数语法:
sorted(可迭代对象,key=函数(默认为None),reverse=False) 将可
迭代对象的每一个元素传进key后面的函数中,根据函数运算的结果(返回值)进行排序
reverse:是否倒叙,True:倒叙,False:正序
1.列表排序
lst = [1,5,8,6,4,3,2,44,88,5,12,3]
lst_new = sorted(lst) # 原列表不改变,返回一个新列表
print(lst_new)
# 结果:[1, 2, 3, 3, 4, 5, 5, 6, 8, 12, 44, 88] #默认按正序排列.
2.字典key排序
dic = {1:'A',5:'E',3:'C',2:'B',4:'D'}
dic_new = sorted(dic)
print(dic_new)
# 结果:[1, 2, 3, 4, 5] # 将字典的key进行排序,然后添加到列表中
3.结合函数排序
3.1 根据字符串的长度进行排序
# 普通函数
lst = ['马化腾','施瓦辛格','奥斯特洛夫斯基','老舍']
def func(s):
return len(s) # 计算出每个元素的长度,按照返回的长度进行排序
s = sorted(lst,key=func)
print(s)
# 结果:['老舍', '马化腾', '施瓦辛格', '奥斯特洛夫斯基']
3.2使用lambda匿名函数排序
s1 = sorted(lst,key=lambda x:len(x))
print(s1)
# 结果:['老舍', '马化腾', '施瓦辛格', '奥斯特洛夫斯基']
3.3 字典排序
按照年龄从大到小排序
lst = [{'id':1,'name':'alex','age':18},
{'id':2,'name':'wusir','age':48},
{'id':3,'name':'taibai','age':58},
{'id':4,'name':'sath','age':18}
] s3 = sorted(lst,key=lambda x:x['age'],reverse=True)
print(s3)
# 结果:
# [{'id': 3, 'name': 'taibai', 'age': 58},
# {'id': 2, 'name': 'wusir', 'age': 48},
# {'id': 1, 'name': 'alex', 'age': 18},
# {'id': 4, 'name': 'sath', 'age': 18}
# ]
内置函数系列之 sorted排序的更多相关文章
- 内置函数二: map sorted filter
-----------生活里没有奇迹,大部分的时候奇迹是你自己创造的. # -------------------------------------------------------------- ...
- Python内置函数系列
Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义. 作用域相关(2) locals() :以字典类型返回当前位置 ...
- go:内置函数 | 闭包 | 数组 | 切片 | 排序 | map | 锁
内置函数 1.close: 主要是用来关闭channel 2.len:用来求长度,比如string.array.slice.map.channel 3.new与make都是用来分配内存 new用来分配 ...
- Python有用的内置函数divmod,id,sorted,enumerate,input,oct,eval,exec,isinstance,ord,chr,filter,vars,zip
divmod(a, b) 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b) id() 函数用于获取对象的内存地址. sorted(iterable, key ...
- 内置函数系列之 map
map(映射函数)语法: map(函数,可迭代对象) 可以对可迭代对象中的每一个元素,分别执行函数里的操作 # 1.计算每个元素的平方 lst = [1,2,3,4,5] lst_new = map( ...
- 内置函数系列之 filter
filter 过滤 基本语法: s = filter(function,iterable) 将可迭代对象的每一个元素,传进函数中,根据函数中的判断条件,返回True或False 返回True的是保留的 ...
- Python 内置函数、作用域、闭包、递归
一.内置函数如何使用 help()一下: 如想看min()咋用?在shell中:help(min) 二.部分内置函数 (一).排序:sorted() li = [(1, 2, 3, 4), (7, 8 ...
- python--函数、参数、名称空间与作用域、匿名函数、内置函数、闭包
python函数 函数定义 def welcome(): print('hello world!!') welcome() #函数调用 ...运行结果 hello world!! 函数定义和编写原则: ...
- Sorted 内置函数的排序使用
Sorted 内置函数的排序使用 Sorted 排序列表 1.倒序对列表进行排序 # 对列表进行降序序排序 list = [1,3,4,23,6,7] list = sorted(list,rever ...
随机推荐
- 二维码项目实例为二维码添加logo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 阻塞IO, 非阻塞IO, 同步IO,异步IO
阻塞IO, 非阻塞IO, 同步IO,异步IO 介绍 先说明几个概念 用户空间与内核空间 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间(内存)划分为两部分,一部分 ...
- Linux命令之添加权限Chmod的使用
chmod是change mode的缩写,是修改文件权限的一个命令: 一个文件分别有三组权限:用户拥有者,用户组 第一个横杆-表示文件,如果是d表示目录.还有可能是l,表示链接. 第一组(rw-)表示 ...
- 关于java@Override错误
重写的接口的方法,编译的时候一直报@override is not override a method from superclass,查了一下资料,这个@override报错是因为版本的原因. 在J ...
- 洛谷 P1509 找啊找啊找GF
题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这 ...
- 西门子 S7-1500 PLC,使用手轮控制伺服电机
西门子 S7-1500 PLC,使用手轮控制伺服电机 本文描述了一种,1500PLC使用叠加定位的方法,实现手轮操作的方法. 手轮操作需要的功能 数控机床等设备上的电子手轮,起源于机械手轮.机械手轮是 ...
- Altium_Designer-怎么将“原理图的更改”更新到“pcb图”?
打开原理图,直击菜单栏>>Design,选择第一项,>>Update PCB Document...在弹出的对话框里面选择执行更改即可将原理图更新到工程下面对应的PCB.也可以 ...
- ERP和C4C中的function location
SAP ERP里的Functional Locations,下载到SAP Cloud for Customer后成为类型为'Functional Location'的Installation Poin ...
- Hybris开发环境的license计算实现
每隔30天,必须重新执行一次initialize命令把本地所有数据全部清掉然后重新build,需要花费一些时间. 显示在console里的license信息通过license.jsp展示: 剩余的li ...
- 859. Buddy Strings (wrong 4 times so many cases to test and consider) if else**
Given two strings A and B of lowercase letters, return true if and only if we can swap two letters i ...