Python - 修改列表项
修改列表项
在 Python 中,list 是一种可变数据类型。这意味着,在对象存储到内存后,list 的内容可以就地修改。你可以在 list 的给定索引位置赋值一个新值。
语法
list1[i] = newvalue
示例
在下面的代码中,我们修改了给定 list 在索引 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]
修改连续的列表项
你可以用另一个子列表替换 list 中的更多连续项。
示例
在下面的代码中,索引 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']
修改列表项范围
如果源子列表的项数多于要替换的切片,则源中的多余项将被插入。请看下面的代码 −
示例
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']
示例
如果用于替换原始 list 切片的子列表项数较少,则匹配的项将被替换,原始 list 中的其余项将被移除。
在下面的代码中,我们尝试用“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']