在某些應用中可能需要將列表元素進行逆序排列,也就是所有的元素位置反轉。
以下總結了python列表常見的4種反轉方法:
一、列表對象的reverse()方法
語法:列表名.reverse()
該方法沒有返回值,將列表中的所有元素進行原地逆序
# reverse()方法
a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
a.reverse()
print('列表反轉結果:', a)
列表反轉結果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]
二、內置reversed()函數
語法:reversed(列表名)
與reverse()方法不同,內置函數reversed()函數不對原列表做任何修改,而是返回一個逆序排列後的迭代對象。
# 內置reversed()函數
a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
a1 = reversed(a)
print('列表反轉結果(迭代對象):', a1)
print('列表反轉結果轉換成列表:', list(a1))
列表反轉結果(迭代對象):<list_reverseiterator object at 0x00000243EF467A20>
列表反轉結果轉換成列表:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]
三、切片
語法:列表名[x:y:z]
x:切片開始位置,默認為0
y:切片截止(但不包含)位置,默認為列表長度
z:切片的步長,默認為1;-1則表示從最後元素開始切片
# 切片實現反轉
a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
print('列表反轉結果:', a[::-1])
列表反轉結果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]
四、使用for循環
# 使用for循環
a = [1, 2, 3, 4, 5, 6, 7, 'abc', 'def']
a1 = [a[len(a)-i-1] for i in range(len(a))]
print('列表反轉結果:', a1)
列表反轉結果:[‘def’, ‘abc’, 7, 6, 5, 4, 3, 2, 1]
以上就是實現列表反轉的4種方法。