反轉 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