Python list列表修改元素


Python 提供了兩種修改列表(list)元素的方法,你可以每次修改單個元素,也可以每次修改一組元素(多個)。

修改單個元素

修改單個元素非常簡單,直接對元素賦值即可。請看下面的例子:

  1. nums = [40, 36, 89, 2, 36, 100, 7]
  2. nums[2] = -26 #使用正數索引
  3. nums[-3] = -66.2 #使用負數索引
  4. print(nums)

運行結果:

[40, 36, -26, 2, -66.2, 100, 7]

使用索引得到列表元素后,通過=賦值就改變了元素的值。

修改一組元素

Python 支持通過切片語法給一組元素賦值。在進行這種操作時,如果不指定步長(step 參數),Python 就不要求新賦值的元素個數與原來的元素個數相同;這意味,該操作既可以為列表添加元素,也可以為列表刪除元素。

下面的代碼演示了如何修改一組元素的值:

  1. nums = [40, 36, 89, 2, 36, 100, 7]
  2. #修改第 1~4 個元素的值(不包括第4個元素)
  3. nums[1: 4] = [45.25, -77, -52.5]
  4. print(nums)

運行結果:
[40, 45.25, -77, -52.5, 36, 100, 7]

如果對空切片(slice)賦值,就相當於插入一組新的元素:

  1. nums = [40, 36, 89, 2, 36, 100, 7]
  2. #在4個位置插入元素
  3. nums[4: 4] = [-77, -52.5, 999]
  4. print(nums)

運行結果:
[40, 36, 89, 2, -77, -52.5, 999, 36, 100, 7]

使用切片語法賦值時,Python 不支持單個值,例如下面的寫法就是錯誤的:https://www.furuihua.cn/shenzhen/pingshan/

nums[4: 4] = -77

但是如果使用字符串賦值,Python 會自動把字符串轉換成序列,其中的每個字符都是一個元素,請看下面的代碼:

s = list("Hello")
s[2:4] = "XYZ"
print(s)

運行結果:
['H', 'e', 'X', 'Y', 'Z', 'o']

使用切片語法時也可以指定步長(step 參數),但這個時候就要求所賦值的新元素的個數與原有元素的個數相同,例如:

  1. nums = [40, 36, 89, 2, 36, 100, 7]
  2. #步長為2,為第1、3、5個元素賦值
  3. nums[1: 6: 2] = [0.025, -99, 20.5]
  4. print(nums)

運行結果:
[40, 0.025, 89, -99, 36, 20.5, 7]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM