Python - 更改列表项



更改列表项

List 是 Python 中的可变数据类型。这意味着,在对象存储到内存中后,可以就地修改 list 的内容。您可以在列表中的给定索引位置分配新值

语法


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']

更改列表项范围

如果源子列表包含的项目数多于要替换的切片,则将插入源中的额外项目。请看下面的代码 -


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']

如果要替换原始列表切片的子列表包含较少的项目,则将替换匹配的项目,并删除原始列表中的其余项目。

在下面的代码中,我们尝试将 “b” 和 “c” 替换为 “Z” (比要替换的项目少 1 项)。它导致 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']