反轉清單或陣列是一項常見的程式設計任務。在許多情況下,你可能需要以相反的順序呈現數據,例如在對列表進行排序時。
如何使用 Python 反轉列表或陣列?你將在本文中了解不同的方法。
雖然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]
列表推導產生更短的程式碼。並且不需要臨時變量,因為列表理解作用於適當的列表。
要執行前面的動作,使用清單推導:
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]
#列表切片運算子非常簡單,儘管它有一些限制。例如,你可能無法像使用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]語法是一個巧妙的捷徑,它會產生一個反向列表。它實際上意味著“複製列表的每個元素,從末尾開始倒數”——即“反轉它”!
這是另一個有效的方法:它修改原始陣列。這可能是個缺點,因為你不能為其他操作保留先前的清單。
以下是使用reverse 方法反轉陣列的方法:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9] languages.reverse() print(languages)
輸出:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
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 反轉列表或數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!