Python 更改列表项
列表是Python中的可变数据类型。这意味着,在将对象存储在内存中之后,列表的内容可以就地修改。您可以在列表中的给定索引位置分配一个新值。
语法
list1[i] = newvalue
示例1
在下面的代码中,我们改变给定列表中索引为2的值。
list3 = [1, 2, 3, 4, 5]
print ("Original list ", list3)
list3[2] = 10
print ("List after changing value at index 2: ", list3)
将会产生以下 输出 −
Original list [1, 2, 3, 4, 5]
List after changing value at index 2: [1, 2, 10, 4, 5]
你可以将列表中的更多连续项目替换为另一个子列表。
示例2
在以下代码中,索引为1和2的项目被另一个子列表中的项目替换。
list1 = ["a", "b", "c", "d"]
print ("Original list: ", list1)
list2 = ['Y', 'Z']
list1[1:3] = list2
print ("List after changing with sublist: ", list1)
它将产生以下 输出 −
Original list: ['a', 'b', 'c', 'd']
List after changing with sublist: ['a', 'Y', 'Z', 'd']
示例3
如果源子列表的项数多于要替换的切片,源中多余的项将被插入。请看下面的代码:
list1 = ["a", "b", "c", "d"]
print ("Original list: ", list1)
list2 = ['X','Y', 'Z']
list1[1:3] = list2
print ("List after changing with sublist: ", list1)
会产生以下的 输出 –
Original list: ['a', 'b', 'c', 'd']
List after changing with sublist: ['a', 'X', 'Y', 'Z', 'd']
示例4
如果子列表比原列表的切片要替换的元素少,匹配的元素将被替换,原列表中剩下的元素将被移除。
在下面的代码中,我们尝试使用”Z”来替换”b”和”c”(比要替换的元素数量少一个)。结果是”Z”替换了”b”,”c”被移除了。
list1 = ["a", "b", "c", "d"]
print ("Original list: ", list1)
list2 = ['Z']
list1[1:3] = list2
print ("List after changing with sublist: ", list1)
它将产生以下 输出 −
Original list: ['a', 'b', 'c', 'd']
List after changing with sublist: ['a', 'Z', 'd']