列表的元素相當於變量,因此程式可以對列表的元素賦值,這樣即可修改列表的元素。例如如下程式碼:
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中文網其他相關文章!