Python - 修改列表项



修改列表项

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

修改列表项的范围

如果源子列表的项数多于要替换的切片,则源中的额外项将被插入。请查看以下代码:

示例

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