Python 基础 2-3 列表的反转与排序
Posted dazhi-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 基础 2-3 列表的反转与排序相关的知识,希望对你有一定的参考价值。
引言
列表是按照特定格式排序而成的,有时候这种排序方式我们并不喜欢,我们希望它可以按照我们的方式来进行正序或者倒序排序,或其他的排序方式
反转与排序
比如说我这里有一组列表,里面存放的全部都是数值,但非常乱,要你将它按从小到大或从大到小排序
列表可以按正序排序,也可以按倒序排序,排序分永久性的和临时性的
列表反转
列表反转,使用 reverse()
方法将列表元素反过来排序
注意: 是将列表元素反过来排序,不是倒序排序
reverse()
方法对列表元素修改的排序永久性的,不过随时可以再调用 reverse()
来恢复原来的排序
num = [ 23 , 12 , 53 , 6 , 18 , 68 , 55 , 96]
num.reverse()
print(num)
# 运行结果:[96, 55, 68, 18, 6, 53, 12, 23]
从以上示例中看到,使用 reverse()
方法进行反转排序仅仅是把列表元素头尾互换反转过来而已,并没有进行倒序排序
列表排序
列表可对数字、英文字母进行排序
1. 正序排序,使用 sort()
方法进行正序排序,永久性排序,排序后不可恢复原来的排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
# 运行结果:['audi', 'bmw', 'subaru', 'toyota']
2. 倒序排序,在 sort()
方法括号内传入参数 reverse=True
达到倒序排序效果。永久性,排序后不再保持原来排序方式的
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort( reverse=True )
print(cars)
# 运行结果:['toyota', 'subaru', 'bmw', 'audi']
3. 正序排序(临时),使用 sorted()
对列表进行临时排序(正序),不影响列表原来的排序方式
num = [ 23 , 12 , 53 , 6 , 18 , 68 , 55 , 96]
print(num)
# 运行结果:[23, 12, 53, 6, 18, 68, 55, 96]
print( sorted(num))
# 运行结果:[6, 12, 18, 23, 53, 55, 68, 96]
print(num)
# 运行结果:[23, 12, 53, 6, 18, 68, 55, 96]
从以上打印示例中看到,使用 sorted()
对列表进行临时正序排序,再次对列表进行打印时,还是原来的排序顺序
4. 倒序排序(临时),在 sorted()
方法传入 reverse=True
达到倒序排序效果,不影响列表原来的排序方式
num = [ 23 , 12 , 53 , 6 , 18 , 68 , 55 , 96]
print(num)
# 运行结果:[23, 12, 53, 6, 18, 68, 55, 96]
print( sorted(num,reverse=True))
# 运行结果:[96, 68, 55, 53, 23, 18, 12, 6]
print(num)
# 运行结果:[23, 12, 53, 6, 18, 68, 55, 96]
从以上打印示例中看到,通过在 sorted()
内传入 reverse=True
参数,列表进行了临时倒序排序
再次对列表进行打印时,还是原来的排序顺序
其他
使用 range()
函数生成一些列数字
只需要在括号内传入开始值及结束值就行了,这个也遵循左闭右开原则
例如以下这个示例,打印 0
至 5
的数字,实际只打印 0
至 4
for num in range(0,5):
print(num,end='\t')
# 运行结果:0 1 2 3 4
如果想输入 0
至 5
则需要在这里输入
创建数字列表
使用 list()
函数将 range()
生成的一系列数字转为列表
list_num = list(range(0,5))
print(list_num)
# 运行结果:[0, 1, 2, 3, 4]
range()
还可以指定步长,事实上 range()
函数可以传入三个参数,起始值、结束值、步长
num_list = []
for num in range(0,20,2):
num_list.append(num)
print(num_list)
# 运行结果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
像以上示例中,函数 range()
从 0
开始,不断加2,直到达到或超过20
以上是关于Python 基础 2-3 列表的反转与排序的主要内容,如果未能解决你的问题,请参考以下文章