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語言替換元素的不同方法。

更新於:2023年4月24日

1K+ 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告