如何使用 Python 反轉(zhuǎn)列表或數(shù)組
反轉(zhuǎn)列表或數(shù)組是一項(xiàng)常見(jiàn)的編程任務(wù)。在許多情況下,你可能需要以相反的順序呈現(xiàn)數(shù)據(jù),例如在對(duì)列表進(jìn)行排序時(shí)。
如何使用 Python 反轉(zhuǎn)列表或數(shù)組?你將在本文中了解不同的方法。
使用 for 循環(huán)創(chuàng)建副本
雖然Python 的 for 循環(huán)更冗長(zhǎng),但在某些情況下它可能很方便。例如,在反向操作的某些點(diǎn)執(zhí)行復(fù)雜邏輯時(shí),它提供了更大的靈活性。
相關(guān):如何在Python中使用For循環(huán) https://www.linuxmi.com/python-for-loops.html
當(dāng)使用縮進(jìn)的 for循環(huán)時(shí),常用的方法是以相反的順序遍歷原始列表。從最后一個(gè)元素開(kāi)始,每次迭代都將前一個(gè)元素附加到一個(gè)新列表中。
以 1 到 9 之間的整數(shù)列表為例,以下是使用縮進(jìn)的for循環(huán)反轉(zhuǎn)數(shù)組的方法:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 創(chuàng)建一個(gè)空列表來(lái)保存反向數(shù)組:
reversed_list = []
# 從原始數(shù)組的長(zhǎng)度中減去一,以從最后一個(gè)索引開(kāi)始:
reducer = len(languages)-1
# 在for循環(huán)中反轉(zhuǎn)列表:
for i in languages:
reversed_list.append(languages[reducer]) # 將結(jié)果追加到空列表
reducer -=1 # 使用reducer在每次迭代時(shí)將索引減少1
print(reversed_list)
輸出:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
使用列表推導(dǎo)式反轉(zhuǎn)列表或數(shù)組
列表推導(dǎo)產(chǎn)生更短的代碼。并且不需要臨時(shí)變量,因?yàn)榱斜砝斫庾饔糜谶m當(dāng)?shù)牧斜怼?
要執(zhí)行前面的操作,使用列表推導(dǎo):
reducer = len(languages)
# 在列表推導(dǎo)式中,使用for循環(huán)在范圍函數(shù)中遞減索引
Reversed_list = [languages[reducer] for reducer in range(reducer -1,-1,-1)]
print(Reversed_list)
輸出:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
使用切片運(yùn)算符
列表切片運(yùn)算符非常簡(jiǎn)單,盡管它有一些限制。例如,你可能無(wú)法像使用for循環(huán)時(shí)那樣自定義輸出。
以下是使用切片運(yùn)算符反轉(zhuǎn)列表的方法:
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]語(yǔ)法是一個(gè)巧妙的快捷方式,它會(huì)產(chǎn)生一個(gè)反向列表。它實(shí)際上意味著“復(fù)制列表的每個(gè)元素,從末尾開(kāi)始倒數(shù)”——即“反轉(zhuǎn)它”!
使用數(shù)組的反轉(zhuǎn)方法
這是另一種有效的方法:它修改原始數(shù)組。這可能是一個(gè)缺點(diǎn),因?yàn)槟悴荒転槠渌僮鞅A粝惹暗牧斜怼?
以下是使用 reverse 方法反轉(zhuǎn)數(shù)組的方法:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
print(languages)
輸出:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
使用反轉(zhuǎn)reversed函數(shù)
reversed 函數(shù)遍歷列表、數(shù)組或任何其他序列并返回其反向副本。但是,你需要將反向輸出顯式聲明為列表。
這是它的工作原理:
languages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(reversed(languages)))
輸出:
[9, 8, 7, 6, 5, 4, 3, 2, 1]
使用數(shù)組獲得創(chuàng)意
數(shù)組或列表是存儲(chǔ)數(shù)據(jù)的常用方法。根據(jù)你的目標(biāo),你可能希望以相反的順序?qū)?shù)據(jù)呈現(xiàn)給客戶(hù)端。一種方法是在渲染之前反轉(zhuǎn)數(shù)組或列表。如你所見(jiàn),有幾種方法可以在 Python 中反轉(zhuǎn)列表。選擇最適合你并與你針對(duì)特定問(wèn)題的邏輯保持一致的方法。