反轉 Python 列表的 4 種方法
人生苦短,快學 Python!
列表是 Python 中基本且最常用的數據結構之一,它是一個可變且有序的對象集合,也可以存儲重複值。有時候我們需要將列表元素進行逆序排列,也就是所有的元素位置反轉。
今天就跟大家聊聊反轉 Python 列表的 4 種方法。
負步長切片
在交互式環境中輸入如下命令:
list_kx = [1, 2, 3, 4, 5, "快學", "Python"]
list_reversed = list_kx[::-1]
list_reversed
輸出:
=
列表切片語法:列表名[x:y:z]
x:切片開始位置,默認爲 0 y:切片截止 (但不包含) 位置,默認爲列表長度 z:切片的步長,默認爲 1;-1 則表示從最後元素開始切片
list.reverse()
在交互式環境中輸入如下命令:
list_kx = [1, 2, 3, 4, 5, "快學", "Python"]
list_kx.reverse()
list_kx
輸出:
列表對象的reverse()
方法可以使之反轉,該方法沒有返回值,將列表中的所有元素進行原地逆序。
reversed() 函數
在交互式環境中輸入如下命令:
list_kx = [1, 2, 3, 4, 5, "快學", "Python"]
list_reversed = reversed(list_kx)
list(list_reversed)
輸出:
與上一個reverse()
方法不同,Python 內置的reversed()
函數不對原列表做任何修改,而是返回一個逆序排列後的迭代對象。
因爲它返回的是一個迭代器,所以我們需要使用list(list_reversed)
轉換一下。
列表生成式
在交互式環境中輸入如下命令:
list_kx = [1, 2, 3, 4, 5, "快學", "Python"]
list_reversed = [list_kx[len(list_kx)-i-1] for i in range(len(list_kx))]
list_reversed
輸出:
使用 for 循環和列表索引,返回結果將是一個新的反轉列表。
好了,今天分享的這 4 個方法,都可以用來使 Python 列表反轉。而且也不必拘泥於此,比如一個列表元素是按照順序或者逆序排列的,我們也可以使用sorted()
函數來使之 “反轉”。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/10XPbpGrIaYTod4juCB7Bw