一、基本形式

列表有自己的sort方法,器对列表进行原值排序,既然是原址排序,那显然元组不可能拥有这个方法,因为元组是不可修改的。

排序,数字、字符串按照ASCII,中文按照unicode从小到大排序

a = [,,,,,]
a.sort()
print(x)
,,,,,

如果需要一个排好序的副本,同事宝石原有列表不变,怎么实现呢?

a = [, , , , , , ]
b = a[:]
b.sort()
print(b) # , , , , ,
print(a) # , , , , , ,

注意: b = a[:] 通过分片操作将列表 a 的元素全部拷贝给 b,如果简单的使用 b = a,b 和 a还是指向同一个列表,并没有副本。

另一种获取已排好序的副本的方法是使用函数dorted函数:

a = [, , , , , ]
y = sorted(a)
print(y) # [, ,,,,]
print(a) # [, , , , , ]

sorted返回有序的副本,并且类型总是列表,如下:

print(sorted(Python)) #['P','y','t','h','o','n']
# .有一个list['This','is','a','Boy','!'],所有元素都是字符串,对它进行大小写无关的排序
li=['This','is','a','Boy','!']
l=[i.lower() for i in li]
# l1 =l[:]
l.sort() # 对原列表进行排序,无返回值
print(l)
# print(sorted(l1)) # 有返回值原列表没有变化
# print(l1)

二、可选参数

sort方法还有两个可选参数: key 和 reverse

1、key在使用是必须提供一个排序过程总调用的函数:

x = ['mmm','mm','mm','m']
x.sort(key = len)
print(x) # ['m','mm','mm','mmm']

2、reverse 实现降序排序,需要提供一个布尔值:

y = [, , , , ]
y.sort(erverse = True)
print(y) # [, , , , ]

True 为倒叙排列,False 为正序排列

三、例子

 a = [,,,,]        

    >>> sorted(a)                  #将a从小到大排序,不影响a本身结构
[, , , , ] >>> sorted(a,reverse = True) #将a从大到小排序,不影响a本身结构
[, , , , ] >>> a.sort() #将a从小到大排序,影响a本身结构
>>> a
[, , , , ] >>> a.sort(reverse = True) #将a从大到小排序,影响a本身结构
>>> a
[, , , , ] 注意,a.sort() 已改变其结构,b = a.sort() 是错误的写法! >>> b = ['aa','BB','bb','zz','CC']
>>> sorted(b)
['BB', 'CC', 'aa', 'bb', 'zz'] #按列表中元素每个字母的ascii码从小到大排序,如果要从大到小,请用sorted(b,reverse=True)下同 >>> c =['CCC', 'bb', 'ffff', 'z']
>>> sorted(c,key=len) #按列表的元素的长度排序
['z', 'bb', 'CCC', 'ffff'] >>> d =['CCC', 'bb', 'ffff', 'z']
>>> sorted(d,key = str.lower ) #将列表中的每个元素变为小写,再按每个元素中的每个字母的ascii码从小到大排序
['bb', 'CCC', 'ffff', 'z'] >>> def lastchar(s):
return s[-]
>>> e = ['abc','b','AAz','ef']
>>> sorted(e,key = lastchar) #自定义函数排序,lastchar为函数名,这个函数返回列表e中每个元素的最后一个字母
['b', 'abc', 'ef', 'AAz'] #sorted(e,key=lastchar)作用就是 按列表e中每个元素的最后一个字母的ascii码从小到大排序 >>> f = [{'name':'abc','age':},{'name':'def','age':},{'name':'ghi','age':}] #列表中的元素为字典
>>> def age(s):
return s['age']
>>> ff = sorted(f,key = age) #自定义函数按列表f中字典的age从小到大排序 [{'age': , 'name': 'abc'}, {'age': , 'name': 'ghi'}, {'age': , 'name': 'def'}] >>> f2 = sorted(f,key = lambda x:x['age']) #如果觉得上面定义一个函数代码不美观,可以用lambda的形式来定义函数,效果同上

python中sorted方法和列表的sort方法使用的更多相关文章

  1. python中sorted方法和列表的sort方法使用详解

    一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符串按照ASCII,中文按照unicode从小到大排序 ...

  2. python中的 list (列表)append()方法 与extend()方法的用法 和 区别

    参考: https://www.cnblogs.com/xuchunlin/p/5479119.html

  3. Python中sorted()方法

    Python中sorted()方法的用法 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象.i ...

  4. Python中sorted()方法的用法

    Python中sorted()方法的用法 2012-12-24 22:01:14|  分类: Python |字号 订阅 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对i ...

  5. python中字典排序,列表中的字典排序

    python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...

  6. python中readline判断文件读取结束的方法

    注:内容来自网络 本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍 ...

  7. Python中sorted(iterable, /, *, key=None, reverse=False)的参数中的斜杆是什么意思?

    通过help(sorted)查看sorted的帮助文档,显示如下: Help on built-in function sorted in module builtins: sorted(iterab ...

  8. Python中执行系统命令常见的几种方法--转载

    Python中执行系统命令常见的几种方法 Python中执行系统命令常见的几种方法有: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执 ...

  9. Python中日期和时间格式化输出的方法

    本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...

随机推荐

  1. Jmeter_选项_函数助手对话框_CSVRead

    1.之前有写过Jmeter_请求原件之参数化CSV 2.这次是使用函数助手 CSVRead去进行处理 3.作用注册10个账户 4.线程组设置,10个线程进行,因为是注册10个账户,如果线程设置为1,循 ...

  2. Shiro入门学习之shi.ini实现授权(三)

    一.Shiro授权 前提:需要认证通过才会有授权一说 1.授权过程 2.相关方法说明 ①subject.hasRole("role1"):判断是否有该角色 ②subject.has ...

  3. P1478

    昨天花一下午时间,把 codeblocks 代码 highlight 改了改,感觉还不错 :) 咳咳.还是说题吧. 这道题利用贪心思想,先去除所有够不着的,然后按使用力气 $ y_i $ 从小到大排序 ...

  4. Deeplearning.ai课程笔记-结构化机器学习项目

    目录 一. 正交化 二. 指标 1. 单一数字评估指标 2. 优化指标.满足指标 三. 训练集.验证集.测试集 1. 数据集划分 2. 验证集.测试集分布 3. 验证集.测试集大小 四. 比较人类表现 ...

  5. Python开发:在mac系统中安装pip

    pip用来安装python项目的依赖库. 大多数比较新的python版本都自带pip,所以先检查下pip是否有安装. 终端输入:pip --version 如果没有安装pip,那么就用接下来的方式安装 ...

  6. vue 事件总线(bus)

    1.全局引入bus Vue.prototype.$bus = new.Vue() 2.组件间传值使用(在发送事件时接收组件会实时接收到, 可以用做兄弟组件间相互传值, 但页面跳转组件间有问题 通过$e ...

  7. Bugku-CTF社工篇之简单的社工尝试

  8. QLabel设置伙伴关系和快捷键(Alt+首字母)

    Qlabe中设置伙伴关系是使用Setbuddy函数: Qlabel.Setbuddy(QLineEdit) #将Qlabel和QLineEdit之间设置伙伴关系 另外,需要配合热键(快捷键)进行使用, ...

  9. 开启glassfish安全管理允许远程访问das

    root@localhost:/opt/glassfish3/bin# ./asadmin enable-secure-admin remote failure: 至少有一个管理员用户的口令为空, 安 ...

  10. php虚拟主机配置( 输入网址 对应 ip地址)

    1.启动http_vhost.conf文件 在httpd-conf中,#virtual hosts 去掉前面的井号 # Includeconf/extra/httpd_vhost.conf 2.配置h ...