sort、sorted、reverse、reversed的区别

!!! error 首先应该区分的是,sort和reverse是列表的一个方法。字符串、元组、字典、集合是没有这两个方法的。而sorted和reversed是python的两个内置函数,并且只有字符串、列表、元组,可以当做参数传入,字典和集合不支持,得到的是一个生成器对象

!!!

sort与sorted()

sort

只有列表有该方法,直接对原来的列表进行排序,不会产生新列表

l1 = [12,2,34,54,5,17]
l1.sort() #[2, 5, 12, 17, 34, 54]
l1.sort(reverse=True) #[54, 34, 17, 12, 5, 2]
print(l1)

sorted()

不会改变原序列的位置顺序,会得到一个从小到大排序的新列表,想要的到从大到小的直接在序列后面加,reverse=True

s = "summer"
res1 = sorted(s)
print(s) #summer
print(res1,type(res1)) #['e', 'm', 'm', 'r', 's', 'u'] <class 'list'> l = [1,34,65,78,23]
res2 = sorted(l)
print(l) #[1, 34, 65, 78, 23]
print(res2,type(res2)) #[1, 23, 34, 65, 78] <class 'list'> t = (12,34,32,12,4,23)
res3 = sorted(t)
print(t) #(12, 34, 32, 12, 4, 23)
print(res3,type(res3)) #[4, 12, 12, 23, 32, 34] <class 'list'> d = {"name":"summer","age":"24","sex":"male"}
res4 = sorted(d)
print(d) #{'name': 'summer', 'age': '24', 'sex': 'male'}
print(res4,type(res4)) #['age', 'name', 'sex'] <class 'list'>
#得到的是按照ASCII的顺序得到的key st = {12,3,4,5}
res5 = sorted(st)
print(st) #{5, 3, 12, 4}
print(res5,typ sorted()与匿名函数配合使用
l2 = [(1,1000),(2,18),(4,250),(3,500)]
print(sorted(l2,key=lambda k:k[1]))
print(sorted(l2,key=lambda k:k[1],reverse=True)) [(2, 18), (4, 250), (3, 500), (1, 1000)]
[(1, 1000), (3, 500), (4, 250), (2, 18)]

reverse与reveresd()

reverse

只有列表有该方法,直接对原来的列表进行反转

l1 = [1,2,10,7,5]
res = l1.reverse()
print(res) #None
print(l1) #[5, 7, 10, 2, 1]

reversed()

只有字符串、列表、元组,可以当做参数传入,字典和集合不支持,得到的是一个生成器对象,不会对原来的序列有影响

s = "summer"
res1 = reversed(s)
print(res1) #<reversed object at 0x101b60668>
print(list(res1)) #['r', 'e', 'm', 'm', 'u', 's']
print(s) #summer l = [1,34,65,78,23]
res2 = reversed(l)
print(res2) #<list_reverseiterator object at 0x101a60710>
print(list(res2)) #[1, 34, 65, 78, 23]
print(l) #[1, 34, 65, 78, 23] t = (12,34,32,12,4,23)
res3 = reversed(t)
print(res3) #<reversed object at 0x101a9a908>
print(list(res3)) #[23, 4, 12, 32, 34, 12]
print(t) #(12, 34, 32, 12, 4, 23)

python sort、sorted、reverse、reverd的区别的更多相关文章

  1. sort sorted() reverse() reversed() 的区别1

    sort()是可变对象(字典.列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值.sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组.字符串是不具有这些方法的 ...

  2. sort sorted() reverse() reversed() 的区别

    sort()是可变对象(字典.列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值.sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组.字符串是不具有这些方法的 ...

  3. Python: sort,sorted,OrderedDict的用法

    Python: sort,sorted,OrderedDict的用法 from http://stqdd.com/archives/427 by 莫亚菜 python对容器内数据的排序有两种,一种是容 ...

  4. python sort() sorted() 与argsort()函数的区别

    1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...

  5. python sort() sorted()的区别

    sorted不保存 sort保存:

  6. del|append()|insert()|pop()|remove()|sort()|sorted|reverse()|len()|range()|min()|max()|sum()|[:]|区分两种列表复制|

    fruit = ['apple','banana','peach'] print fruit[0],fruit[-1] fruit_1 =[] fruit_1.append('orange') pri ...

  7. python sort和sorted函数

    sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 ...

  8. python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数

    Python 中有非常方便高效的排序函数,下面主要介绍如何sort/sorted对list,dict进行排序. 1. 用list.sort /sorted 对list of tuples中第二个值进行 ...

  9. python sort、sorted高级排序技巧(转)

    add by zhj: 没找到原文.可以按多个维度进行排序,而且可以指定他们的排序方向,如果维度都是数字,排序比较容易,用+/-号就可以 指定排序方向.否则,就调用多次sorted进行排序了,而且要按 ...

随机推荐

  1. 用VMware vSphere搭建虚拟化平台

    核心组件 vSphere是一款可以独立安装和运行在祼机上的系统,因此与其他我们以往见过的VMware Workstation 软件不同的是它不再依存于宿主操作系统之上.在ESXi安装好以后,我们可以通 ...

  2. 如果两个人,两台电脑同时登录同一个帐号,同时对同一个账单提交,账单同时被服务器处理,那服务器应该先处理谁的,或者怎么规避这个问题。 非单点登录,重定向,stoken拦截器的问题

    方法一:给用户设置个状态 服务器端坐标记,比如数据库中增加一列,标识是否登陆,登录时先判断这个就行了,不过要考虑非正常退出的情况 http 方法二:在用户表里面 多加一个状态字段,登录成功 改变状态  ...

  3. Python 2.7_多进程获取简书专题数据(一)

    学python几个月了正好练练手,发现问题不断提高,先从专题入手,爬取些数据,一开始对简书网站结构不熟悉,抓取推荐,热门,城市3个导航栏,交流发现推荐和热门是排序不同,url会重复,以及每个专题详情页 ...

  4. php redis 操作手册

    String 类型操作 string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 1 $redis-&g ...

  5. 微信无法跳转appstore总结--应用宝微下载申请

    以前是有方法,可以实现微信下跳转appstore的. 大概就是把url改为:http://mp.weixin.qq.com/mp/redirect?url="跳转url"(可编码也 ...

  6. python爬虫彩票案例,并自动发微信

    import requests from bs4 import BeautifulSoup import itchat import time,datetime all = [{1, 2, 3, 7, ...

  7. CentOS 7 安装Percona,Xtrabackup

    CentOS 7 安装Percona 5.7,Xtrabackup 简介 Percona Server为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升 ...

  8. phpBB安装

    要测试一个网站的安全性,不得不安装一个网站.常用的Hello World!不行了,找了个phpBB安装.非常方便,记录一下安装过程. 下载phpBB 下载地址:http://tianjin.mycod ...

  9. 怎么设置myeclipse的格式化键格式每行的字符长度

    MyEclipse 格式化代码调整每行长度默认每行是80~对于咱初学者,非敏捷型编码者来说~有点短以至于Ctrl+Shift+F 格式化代码后总把一行拆成两行或者更多有点不适应 所以按个人爱好 更改他 ...

  10. Centos 7.2 安装稳定版 nginx

    1. 创建适用于RHEL/CentOS系统的安装源文件,位置为: /etc/yum.repos.d/nginx.repo , 并写入以下内容: [nginx] name=nginx repo base ...