7 种在 Python 中反转列表的智能方法
1. 使用reverse()方法(原地)
my_list=[10,12,6,34,23]
my_list.reverse()
print(my_list)
#output:[23, 34, 6, 12, 10]
2. 使用 reversed() 函数——创建一个迭代器
my_list=[10,12,6,34,23]
reversed_list=list(reversed(my_list))
print(reversed_list)
3. 使用带有insert(0, item)的循环
my_list=[10,12,6,34,23]
reversed_list=[]
for item in my_list:
reversed_list.insert(0,item)
print(reversed_list)
4. 使用列表切片
my_list=[10,12,6,34,23]
reversed_list=my_list[::-1]
print(reversed_list)
5. 使用列表推导式 +reversed()
my_list=[10,12,6,34,23]
reversed_list=[item for item in reversed(my_list)]
print(reversed_list)
6. 使用递归
def reverse_list(lst):
if len(lst)==0:
return []
else:
return [lst[-1]]+reverse_list(lst[:-1])
my_list=[10,12,6,34,23]
reversed_list=reverse_list(my_list)
print(reversed_list)
7. 使用 NumPy (附加)
import numpy as np
my_list = [10, 12, 6, 34, 23]
reversed_array = np.array(my_list)[::-1]
print(reversed_array.tolist())
最终思考
Python 提供了多种工具来反转列表——根据 可读性 、 性能 和 你的使用场景 选择最佳工具。
对于一般使用 ,请选择:
- [::-1] 用于快速反转
- reverse() 用于原地修改
- reversed() 当你想得到一个迭代器时