Python核心语法教程:列表的排序和逆序

2022-07-2821:22:58编程语言入门到精通Comments829 views字数 1375阅读模式

列表的排序和逆序问题,我们在遇到很多算法问题以及数据分析的时候,我们都会涉及到这两种问题,通常在求解问题的时候把数据放在列表中,然后使用列表方法进行排序逆序,都能迅速的帮助我们解决问题。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

    1. 列表排序文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

列表排序的时候我们可以采用两种方式,一种使用sorted(list)进行排序,一种是使用list.sort()进行排序,他们的使用结构分别为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1) listname.sort(key=None,reverse=False)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

listname为目标列表,key表示指定一个从每个列表元素中提取一个比较的键,reverse为可选参数,当指定为True时为降序,如果为Flase则为升序。默认为升序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

2) newlist = sorted(listname,key=None,reverse=False)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

newlist为新的序列,listname为要排序的列表,key和reverse和1)中一致。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

两种方式的区别在于前者等于在原序列上进行直接修改,而后者会生成一个新的序列。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

先定义一个列表为my_list = [2,1,3,5,4,6,8,9,7,10],然后我们进行排序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
3
4
5
my_list = [2,1,3,5,4,6,8,9,7,10]
my_list.sort()#这种格式是直接在列表后使用sort()函数
= sorted(my_list)#这种方式是定义一个新列表来存放排序过的序列
print(b)
print(my_list)

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
[12345678910]
[12345678910]

这两种方式的使用可以自己选择,但一定要注意格式的正确性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

    2. 列表逆序文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

我们在做算法题的时候,很多时候需要把我们存放的数据逆序,把一个容器中的数据逆序在Python中采用reverse()函数或者reversed()显得十分简单。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

他们的结构和排序结构有所不同,reverse()和sort()类似,都是直接在列表后面使用方法就可以了,但reversed需要在前面加上一个存储类型(因为在reversed()作用后,返回一个迭代器,迭代器中的数据是逆序过的,我们使用一种已知的存储结构来存储迭代器中的元素更方便访问,通常会使用列表方法)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
list.reverse()
newlist = list(reversed(list))

我们来看一下实例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
3
4
5
my_list = [2,1,3,5,4,6,8,9,7,10]
= list(reversed(my_list))#使用reversed逆序一定要加上一个存储类型
my_list.reverse()#使用reverse逆序
print(c)#输出
print(my_list)#输出

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
[10798645312]
[10798645312]

列表逆序的时候还可以使用前面学习过的切片操作,直接进行逆序:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
2
3
my_list = [2,1,3,5,4,6,8,9,7,10]
my_list = my_list[::-1]
print(my_list)

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html

1
[10798645312]
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26180.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26180.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定