内置函数系列之 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 ...
随机推荐
- ASP.NET MVC扩展自定义视图引擎支持多模板&动态换肤skins机制
ASP.NET mvc的razor视图引擎是一个非常好的.NET MVC框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的项目支 ...
- Hibernate课程 初探一对多映射5-3 Eclipse根据表反向生成实体类
1 配置 项目右击==>properties==>project facets==>convert to faceted form...复选框选中java 和 jpa==>fu ...
- python下载文件
import urllib import urllib2 import requests url = "http://www.blog.pythonlibrary.org/wp-conten ...
- IIS7 配置SSL 绑定主机头
IIS7下面默认HTTPS绑定是无法指定主机头的,我们可以通过手工修改IIS配置来实现主机头绑定. 首先停止IIS服务. 然后打开C:/Windows/system32/inetsrv/config/ ...
- Struts2_HelloWorld1
打开 eclipse,新建 web 项目. 因为可能需要 jstl 表达式,所以添加 jstl需要的jar包. 下载链接:http://pan.baidu.com/s/1hr6mBI0 将jar拷贝至 ...
- python生成url测试用例
generate_url.py #!/usr/bin/env python import random import os, sys channels = [ \ "BTV2", ...
- vue-cli -- > 项目基本构建的方法
本文档目的在于让对vue了解比较少的同学,能够快速搭建属于自己的vue项目.(window) 一.构建项目的前提条件 1.确保本机安装了node.js ^6 --> javascript 的服务 ...
- JavaScript 面向对象编程(三):非构造函数对象的继承
JavaScript 面向对象编程(三):非构造函数对象的继承 一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Chinese ...
- jrtplib源码分析 第一篇 jthread的编译与分析
第一篇 jthread的编译与分析 jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习.首先从以下链接下载jthread的源代码http://research.ed ...
- Sublime插件支持Sass编译和Babel解析ES6 & .sublime-build文件初探(转载自imwtr)
原文请看:http://www.cnblogs.com/imwtr/p/6010550.html 用Sublime Text蛮久了,配置配来配去的,每次换电脑都得重头再配过,奈何人老了脑子不中用了 ...