列表在 Python 中是一种可变的数据类型。这意味着,在对象存储在内存之后,列表的内容可以在原地进行修改。你可以在列表的一个给定索引位置上分配一个新的值。
语法
list1[i] = newvalue
示例
在下面的代码中,我们将给定列表中索引 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]
更改连续的列表项
你可以用另一个子列表替换列表中更多的连续项。
示例
在下面的代码中,索引 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']
通过我们的 Python 认证课程,通过真实项目深入学习 Python。报名并成为认证专家,提升您的职业生涯。
更改列表中的一段项
如果源子列表中的项比要替换的切片多,那么源列表中的多余项将会被插入。请看下面的代码:
示例
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']
示例
如果要替换原列表切片的子列表中的项较少,那么匹配的项会被替换,而原列表中的其余项将会被移除。
在下面的代码中,我们试图用 "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']