Python程式替換列表中的元素
在Python中,可以使用列表將多個專案儲存在單個變數中。列表是Python中用於儲存資料集合的四種內建資料型別之一,另外三種是元組、集合和字典,每種都有其獨特的用途。
什麼是列表?
使用方括號建立列表。列表是Python中最強大的工具,因為它們不一定是同構的。一個列表中可以包含整數、字串和物件等資料型別。由於列表是可變的,因此即使在建立後也可以對其進行更改。
Python列表的主要特性之一是能夠包含重複的值。這允許我們迴圈遍歷列表的專案並確定每個專案的值。如果該值需要替換,則進行替換。
在本文中,我們將學習使用Python程式替換列表中元素的六種方法。
使用for迴圈
Python的for迴圈用於以順序方式迭代字串、元組、列表、集合或字典等可迭代物件。因此,我們將在此處使用的for迴圈將迭代給定的列表並替換列表中的值或元素。例如,我們在列表中取兩個元素,例如“咖啡”和“茶”。現在,我們想用“果汁”和“萊姆蘇打”替換它們。為了完成這項任務,我們將使用for迴圈和if條件來替換元素。
演算法
首先定義列表。
使用for迴圈建立一個範圍,即要迭代的元素列表。
使用if語句替換元素。
列印輸出列表。
示例
在下面的程式中,定義了一個元素列表。然後,對於列表中的每個元素,if語句檢查它是否與“咖啡”或“茶”匹配。
如果是,則該元素分別被“果汁”或“萊姆蘇打”替換。最後,列印新的列表。
# First define a list of elements list_1 = ['Coffee', 'Sting', 'Maza', 'Tea', 'Tea'] for i in range(len(list_1)): # if statement for replacing elements if list_1[i] == 'Coffee': list_1[i] = 'Fruit juice' # if statement for replacing elements if list_1[i] == 'Tea': list_1[i] = 'Lime soda' print(list_1)
輸出
['Fruit juice', 'Sting', 'Maza', 'Lime soda', 'Lime soda']
使用列表索引
可以使用索引訪問列表的條目。這是在Python中替換列表中元素最簡單直接的方法。利用索引0,我們可以更改列表中的第一個專案。
在下面的示例中,新值是要替換列表中先前值的值,索引是我們想要更改的專案的索引。
語法
list_1[index]= Replaced value (Replaced value= new value)
演算法
首先定義列表。
使用索引號替換值。
列印輸出列表。
示例
下面的程式替換列表中的一個元素。原始列表包含“電視”、“STD”和“WIFI”。列印完整列表後,第二個元素“STD”被值“手機”替換。
# first define a list of elements list_1 = ['Television', 'STD', 'WIFI'] # replacing elements using index list_1[1]= 'Mobile phone' print(list_1)
輸出
['Television', 'Mobile phone', 'WIFI']
使用while迴圈
為了替換列表中的值,我們也可以使用while迴圈。while迴圈重複for迴圈的工作。我們首先定義一個值為0的變數,並在while迴圈中遍歷列表。如果值與我們想要更改的值匹配,則替換舊值。
演算法
首先定義列表。
定義一個變數。
應用while迴圈。
如果變數值與列表中的值匹配,它將替換元素。
列印輸出列表。
示例
在下面的程式中,建立了一個包含四個元素的列表。while迴圈迭代列表中的專案,如果一個專案等於'VIVO',它將被'OPPO'替換。然後列印修改後的列表。
# first define a list list_1 = ['REALME', 'REDME', 'APPLE', 'VIVO'] i = 3 while i < len(list_1): # replace VIVO with OPPO from the list if list_1[i] == 'VIVO': list_1[i] = 'OPPO' i += 1 print(list_1)
輸出
['REALME', 'REDME', 'APPLE', 'OPPO']
使用列表切片
在Python中,必須切片列表才能訪問其元素的特定子集。使用冒號是一種簡單的切片運算子(:)。藉助此運算子,可以宣告步長以及切片的起點和終點。列表切片從原始列表生成一個新列表。
語法
list_1 = list_1[: index]+[‘N_V’]+list_1[index+1:] *(N_V= new value)
演算法
首先定義列表
下一步是找到要替換元素的索引
使用列表切片替換元素。
列印輸出列表。
示例
在這裡,Python為我們提供了對列表進行切片的選擇。由於切片,我們可以訪問列表的某些元件。切片允許我們替換列表中的元素。我們首先找到我們要替換的變數的索引並將其儲存在變數“i”中。
然後,使用列表切片,我們將該專案替換為一個新值。如果我們想用“輻射”替換“複製”,我們必須首先找到“複製”的索引,然後執行列表切片以取出“複製”並將其替換為“輻射”。
list_1 = ['Heat', 'Replication', 'Induction', 'Conduction', 'Precipitation'] i = list_1.index('Replication') list_1 = list_1[:i]+['Radiation']+list_1[i+1:] print(list_1)
輸出
['Heat', 'Radiation', 'Induction', 'Conduction', 'Precipitation']
使用Lambda函式
Python Lambda函式的匿名性表明它們沒有名稱。正如我們已經知道的,標準Python函式是使用def關鍵字定義的。類似地,Python使用lambda關鍵字定義匿名函式。
無論引數數量多少,此函式中只有一個表示式被求值並返回。
Lambda函式可以在需要函式物件的地方使用。必須始終記住,lambda函式在語法上僅限於單個表示式。
語法
list_1=list(map(lambda x: x.replace(‘O_V’,’N_V’),list_1))
演算法
定義一個列表。
使用lambda和map函式替換值。
列印列表作為輸出。
示例
在這裡,為了使用這種方式替換列表中的元素,我們使用了lambda和map函式。Python有一個內建方法map(),允許您在不使用迴圈語句的情況下遍歷列表。
作為替換值的條件,我們在這裡提供了一個表示式。在這裡,在lambda函式中,我們將“複製”替換為“輻射”。然後使用list()函式將map物件轉換為列表。
list_1 = ['Heat', 'Replication', 'Induction', 'Conduction', 'Precipitation'] list_1 = list(map(lambda x: x.replace('Replication', 'Radiation'), list_1)) print(list_1)
輸出
['Heat', 'Radiation', 'Induction', 'Conduction', 'Precipitation']
結論
在本文中,我們簡要解釋了五種使用Python語言替換元素的不同方法。