反转Python列表的4种方法

简介: 反转Python列表的4种方法

反转Python列表的4种方法
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea – let’s do more of those!

列表是Python中最基本且常用的数据结构之一,它是一个可变且有序的对象集合,也可以存储重复值。有时候我们需要将列表元素进行逆序排列,就是所有的元素位置反转。

现分享一下Python列表反转的4种方法:

image.png

负步长切片
在交互式环境下输入如下命令:

zen_str = '人生苦短,我学,Python'

zen_lst = [n.strip() for n in zen_str.split(',')]

zen_lst_reversed = zen_lst[::-1]
print(zen_lst_reversed)

输出:
image.png

<注解>:列表切片语法:列表名[x:y:z] x:切片开始位置, 默认为0 y:切片截止(但不包含)位置,默认为列表长度 z:切片的步长,默认为1;-1则表示从最后元素开始切片。

list.reverse()
在交互环境中输入如下命令:

zen_str = '人生苦短,我学,Python'

zen_lst = [n.strip() for n in zen_str.split(',')]
zen_lst.reverse()

print(zen_str)

输出:
image.png

列表对象的reverse()方法可以使之反转,该方法没有返回值,将列表中的所有元素进行原地逆序。

reversed()函数
在交互环境中输入如下命令:

zen_str = '人生苦短,我学,Python'

zen_lst = [n.strip() for n in zen_str.split(',')]
zen_lst_reversed = reversed(zen_lst)

print(list(zen_lst_reversed))

输出:

image.png

与上一个reverse()方法不同,Python内置的reversed()函数不对原列表做任何修改,而是返回一个逆序排列后的迭代对象。

因为它返回的是一个迭代器,所以我们需要使用list(list_reversed)转换一下。

列表生成式
在交互环境中输入如下命令:

zen_str = '人生苦短,我学,Python'

zen_lst = [n.strip() for n in zen_str.split(',')]

zen_lst_reversed = [zen_lst[len(zen_lst)-i-1] for i in range(len(zen_lst))]
print(zen_lst_reversed)

输出:

image.png

使用for循环和列表索引,返回结果将是一个新的反转列表。

好了,今天分享的这4个方法,都可以用来使Python列表反转。而且也不必拘泥于此,比如一个列表元素是按照顺序或者逆序排列的,我们也可以使用sorted()函数来使之“反转”。

相关文章
WK
|
19天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
67 36
|
4天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
WK
|
22天前
|
Python
python元组与列表的转换
在 Python 中,元组(tuple)和列表(list)是两种常用的数据结构,它们之间可以相互转换
WK
28 9
|
22天前
|
Python
探索Python中的列表推导式
【10月更文挑战第20天】在编程世界里,时间就是一切。Python的列表推导式是节约时间、简化代码的一大利器。本文将带你深入理解并有效利用这一强大工具,从基础到高级用法,让你的代码更加简洁高效。
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
17 7
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
17 6
|
19天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
17 1
|
20天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
21天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
13 1
|
21天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
14 1