博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中sort方法
阅读量:4981 次
发布时间:2019-06-12

本文共 1293 字,大约阅读时间需要 4 分钟。

最近学python基础,看了冒泡排序方法,觉得好难,今天看到冒泡排序可以有一个简单的方法,sort(),赶紧百度学习了下,真是方便。

只有列表可以用sort方法,元组不可以使用。

一:两种基本形式

(1)  iterable.sort(cmp=None, key=None, reverse=False)   #python 2.x     iterable.sort(key=None, reverse=False)            #python 3.x(2)  sorted(iterable, cmp=None, key=None, reverse=False)        #python 2.x     sorted(iterable, key=None, reverse=False)                  #python 3.x# 由此可看出,Python 3.x 取消了 cmp 参数,所以如果想给 sorted()函数传参的话,就剩下key和reverse,其中reverse 就是返回正常排序的反序,

 参数解释:

  第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。

  可选的参数有三个,cmp、key和reverse。
  1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。
  2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。
  3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。
 
  通常来说,key和reverse比一个等价的cmp函数处理速度要快。这是因为对于每个列表元素,cmp都会被调用多次,而key和reverse只被调用一次。
简单实例:
1.原址排序
#sort排序a = [1, 2, 3, 9, 7, 5, 44, 33, 45, 55, 66, 322, 234, 455, 231]a.sort()print(a)

结果如下:

[1, 2, 3, 5, 7, 9, 33, 44, 45, 55, 66, 231, 234, 322, 455]

2.副本排序(a.分片排序)

x = [8, 4, 6, 3, 1]y = x[:]y.sort()print(x) #[8, 4, 6, 3, 1] print(y) #[1, 3, 4, 6, 8]

 b.sorted副本排序

a = [10, 8, 7, 4, 1, 3]b = sorted(a)print(a)     #[10, 8, 7, 4, 1, 3]print(b)     #[1, 3, 4, 7, 8, 10]

  

 

转载于:https://www.cnblogs.com/yaohanbaby/p/8946361.html

你可能感兴趣的文章
spider
查看>>
shell
查看>>
drf 组件
查看>>
amazon 1
查看>>
MS yc
查看>>
Electron-vue中通过WebAudioApi实现录音功能,并转换为mp3格式,实时监测音频设备变化...
查看>>
Express配置ssl证书,为网站开启https
查看>>
安装新版本报错
查看>>
礼物播放功能
查看>>
在docker 安装gitlab
查看>>
自启动脚本
查看>>
【转载】serlvet
查看>>
【转载】arraylist的原理和API
查看>>
【转载】如何保证订单重复提交的问题(当发生网络延迟等情况)
查看>>
【转载】创建对象的5种方法
查看>>
【转载】MYSQL数据库四种索引类型的简单使用
查看>>
【转载】MySQL数据库面试题
查看>>
【转载】servlet与springMVC的差别
查看>>
【转载】为什么用自增列作为主键
查看>>
【转载】ArrayList从源码看扩容实现
查看>>