首頁 >後端開發 >Python教學 >如何使用 Python 反轉列表或數組

如何使用 Python 反轉列表或數組

WBOY
WBOY轉載
2023-04-11 22:01:201967瀏覽

如何使用 Python 反轉列表或數組

反轉清單或陣列是一項常見的程式設計任務。在許多情況下,你可能需要以相反的順序呈現數據,例如在對列表進行排序時。

如何使用 Python 反轉列表或陣列?你將在本文中了解不同的方法。

使用 for 迴圈建立副本

雖然Python 的 for 迴圈較冗長,但在某些情況下它可能很方便。例如,在反向操作的某些點執行複雜邏輯時,它提供了更大的靈活性。

相關:如何在Python中使用For迴圈 https://www.linuxmi.com/python-for-loops.html

當使用縮排的for迴圈時,常用的方法是以相反的順序遍歷原始列表。從最後一個元素開始,每次迭代都將前一個元素附加到一個新列表中。

以1 到9 之間的整數列表為例,以下是使用縮排的for迴圈反轉數組的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 创建一个空列表来保存反向数组:
reversed_list = []
# 从原始数组的长度中减去一,以从最后一个索引开始:
reducer = len(languages)-1
# 在for循环中反转列表:
for i in languages:
 reversed_list.append(languages[reducer]) # 将结果追加到空列表
 reducer -=1 # 使用reducer在每次迭代时将索引减少1
print(reversed_list)

輸出:  

[9, 8, 7, 6, 5, 4, 3, 2, 1]

如何使用 Python 反轉列表或數組

#使用列表推導式反轉列表或陣列

列表推導產生更短的程式碼。並且不需要臨時變量,因為列表理解作用於適當的列表。

要執行前面的動作,使用清單推導:

reducer = len(languages)
# 在列表推导式中,使用for循环在范围函数中递减索引
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)

輸出:  

[9, 8, 7, 6, 5, 4, 3, 2, 1]

如何使用 Python 反轉列表或數組

使用切片運算子

#列表切片運算子非常簡單,儘管它有一些限制。例如,你可能無法像使用for迴圈時那樣自訂輸出。

以下是使用切片運算子反轉清單的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = languages[::-1]
print(rev_list)

輸出:  

[9, 8, 7, 6, 5, 4, 3, 2, 1]

[ ::-1]語法是一個巧妙的捷徑,它會產生一個反向列表。它實際上意味著“複製列表的每個元素,從末尾開始倒數”——即“反轉它”!

如何使用 Python 反轉列表或數組

使用陣列的反轉方法

這是另一個有效的方法:它修改原始陣列。這可能是個缺點,因為你不能為其他操作保留先前的清單。

以下是使用reverse 方法反轉陣列的方法:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)

輸出:  

[9, 8, 7, 6, 5, 4, 3, 2, 1]

如何使用 Python 反轉列表或數組

使用反轉reversed函數

reversed 函數遍歷清單、陣列或任何其他序列並傳回其反向副本。但是,你需要將反向輸出明確聲明為列表。

這是它的工作原理:

languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))

輸出:  

[9, 8, 7, 6, 5, 4, 3, 2, 1]

如何使用 Python 反轉列表或數組

使用陣列獲得創意

陣列或列表是儲存資料的常用方法。根據你的目標,你可能會想要以相反的順序將資料呈現給客戶端。一種方法是在渲染之前反轉數組或列表。如你所見,有幾種方法可以在 Python 中反轉列表。選擇最適合你並與你針對特定問題的邏輯保持一致的方法。

以上是如何使用 Python 反轉列表或數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除