反转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()函数来使之“反转”。

相关文章
|
5天前
|
数据处理 Python
Python 高级技巧:深入解析读取 Excel 文件的多种方法
在数据分析中,从 Excel 文件读取数据是常见需求。本文介绍了使用 Python 的三个库:`pandas`、`openpyxl` 和 `xlrd` 来高效处理 Excel 文件的方法。`pandas` 提供了简洁的接口,而 `openpyxl` 和 `xlrd` 则针对不同版本的 Excel 文件格式提供了详细的数据读取和处理功能。此外,还介绍了如何处理复杂格式(如合并单元格)和进行性能优化(如分块读取)。通过这些技巧,可以轻松应对各种 Excel 数据处理任务。
32 16
|
1天前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
8 2
|
10天前
|
存储 索引 Python
深度解密 Python 列表的实现原理
深度解密 Python 列表的实现原理
41 13
|
7天前
|
开发者 索引 Python
探索Python中的列表推导式
【9月更文挑战第33天】本文通过直观的示例和代码片段,深入浅出地介绍了Python中强大的功能——列表推导式。我们将从基础概念出发,逐步深入到高级应用,最后探讨其性能考量。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到有价值的信息。
16 8
|
5天前
|
数据处理 开发者 Python
Python编程中的列表推导式:简洁而强大的工具
【9月更文挑战第35天】在Python的众多特性中,列表推导式以其简明扼要和强大功能脱颖而出。本文不仅将介绍列表推导式的基础知识,还将探讨其背后的逻辑,并辅以实际代码示例。无论你是初学者还是有经验的开发者,都能从中获取新的见解和应用技巧。
14 5
|
2天前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
|
2天前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
7 1
|
2天前
|
存储 大数据 Python
Python 中的列表推导式和生成器
Python 中的列表推导式和生成器
5 1
|
10天前
|
Python
探索Python中的列表推导式
【9月更文挑战第30天】在编程的世界里,简洁和高效总是我们追求的目标。Python的列表推导式正是这样一把利器,它允许我们在一行代码中生成列表,既清晰又高效。本文将深入浅出地介绍列表推导式的基础知识、高级技巧以及如何避免常见的陷阱,让你的代码更加优雅。
|
11天前
|
索引 Python
python列表删除元素
python列表删除元素
22 1