首頁  >  文章  >  後端開發  >  python中list可以修改嗎

python中list可以修改嗎

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-11 17:27:466381瀏覽

列表的元素相當於變量,因此程式可以對列表的元素賦值,這樣即可修改列表的元素。例如如下程式碼:

python中list可以修改嗎

a_list = [2, 4, -3.4, 'crazyit', 23]# 对第3个元素赋值
a_list[2] = 'fkit'print(a_list) # [2, 4, 'fkit', 'crazyit', 23]
# 对倒数第2个元素赋值
a_list[-2] = 9527
print(a_list) # [2, 4, 'fkit', 9527, 23]

上面程式碼透過索引到列表元素賦值,程式既可使用正數索引,也可使用負數索引,這都沒有問題。

相關推薦:《Python影片教學
此外,程式也可透過slice 語法對清單其中一部分賦值,在執行這個動作時並不要求新賦值的元素個數與原來的元素個數相等。
這表示透過這種方式既可為清單增加元素,也可為清單刪除元素。例如,如下程式碼示範了對清單中間一段賦值:

b_list = list(range(1, 5))
print(b_list)# 将第2个到第4个(不包含)元素赋值为新列表的元素
b_list[1: 3] = ['a', 'b']
print(b_list) # [1, 'a', 'b', 4]

如果對清單中空的 slice 賦值,就變成了為清單插入元素。例如以下程式碼:

# 将第3个到第3个(不包含)元素赋值为新列表的元素,就是插入
b_list[2: 2] = ['x', 'y']
print(b_list) # [1, 'a', 'x', 'y', 'b', 4]

如果將列表其中一段賦值為空列表,就變成了從列表中刪除元素。例如以下程式碼:

# 将第3个到第6个(不包含)元素赋值为空列表,就是删除
b_list[2: 5] = []
print(b_list) # [1, 'a', 4]

對清單使用slice 語法賦值時,不能使用單一值;如果使用字串賦值,Python 會自動將字串當成序列處理,其中每個字元都是一個元素。例如下列程式碼:

# Python会自动将str分解成序列
b_list[1: 3] = 'Charlie'
print(b_list) # [1, 'C', 'h', 'a', 'r', 'l', 'i', 'e']

在使用 slice 語法賦值時,也可指定 step 參數。但如果指定了 step 參數,則要求所賦值的列表元素個數與所取代的列表元素個數相等。例如如下程式碼:

c_list = list(range(1, 10))
# 指定step为2,被赋值的元素有4个,因此用于赋值的列表也必须有4个元素
c_list[2: 9: 2] = ['a', 'b', 'c', 'd']
print(c_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']

以上是python中list可以修改嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn