python知识点100篇系列(3)-列表反转的几种方式

2024-09-13 11:32:17 浏览数 (1)

什么是列表(list)?

List是python中的一种数据类型,它由一组有序的元素组成。支持字符、数字、字符串甚至也可以包含列表(列表中有列表,嵌套),元素间用逗号进行分隔。列表用[]进行标识。

在实际应用中,有时候需要将列表中元素的位置进行反转处理,可以使用如下几种方式:

列表对象的reverse()方法:

列表对象自带的方法,最容易使用;此方法没有返回值,执行后直接将列表中的元素进行原地逆序排列;

伪代码如下:

list_k = '1','2','3',4,5,6

list_k.reverse()

print(list_k)

pyhon内置的reversed函数

此函数不对原列表做任何修改,而是返回一个迭代对象;

代码语言:python代码运行次数:0复制
list_k = ['1','2','3',4,5,6]
print(reversed(list_k))
打印如下:
<list_reverseiterator object at 0x02D23F40>

因为是一个迭代器,所以无法打印出想要的结果,需要使用list函数转换一下;

伪代码如下:

代码语言:python代码运行次数:0复制
list_k = ['1','2','3',4,5,6]
list_kr = reversed(list_k)
list_k = list(list_k)

使用列表的切片

当我们想要访问一个列表中在某个范围元素的时候,我们就需要使用到切片的操作;我们可以使用"变量名起始索引:结束索引"的方式来访问列表中某个范围的元素;Python列表中的索引有两种,一种是正向索引,另一种是反向索引;

列表的反转主要用到反向索引,即负步长切片;

伪代码如:

代码语言:python代码运行次数:0复制
list_k = ['1','2','3',4,5,6]
list_r = list_k[::-1]
print(list_r)

主要使用的切片语法:x:y:z x默认0,为切片开始位置,y为切片结束位置,默认列表的长度,z:为切片的步长,默认1,-1表示从最后的一个元素开始切片;

使用列表生成式(List Comprehensions)

列表生成式是python内置的比较简单但是功能强大的用于生成list的生成式 语法: 元素 for循环 if语句

代码语言:python代码运行次数:0复制
 元素和for循环不能省略,但是,if语句可以省略

使用列表生成式反转列表的代码如下:

代码语言:python代码运行次数:0复制
list_k = ['1','2','3',4,5,6]
list_r = [list_k[len(list_k)-i-1] for i in range(len(list_k))]
print(list_r)

使用sorted()函数

如果列表是有序的,可以使用sorted()函数进行翻转;

sorted() 作为 Python 内置函数之一,其功能是对序列进行排序。 基本语法格式如下:

list = sorted(iterable, key=None, reverse=False)

其中,iterable 表示指定的序列,key 参数可以自定义排序规则;reverse 参数指定以升序(False,默认)还是降序(True)进行排序。

sorted() 函数会返回一个排好序的列表。

其中key 参数和 reverse 参数是可选参数,即可以使用,也可以忽略。

伪代码如下:

代码语言:python代码运行次数:0复制
list_k = [4,5,6]
lisk_r = sorted(list_k)
print(lisk_r)
总结

以上是几种常用的反转方法;

0 人点赞