Python 如何更新列表元素的值
在Python中,列表是一种内置的数据结构,用于存储数据的集合。列表是可变的,这意味着我们可以在创建后修改其元素。我们有一些列表方法,如append、insert、extend、remove和clear,它们用于通过向列表对象添加、更新或删除元素来更改列表内容。在本文中,我们将讨论如何更新列表中的现有元素。
使用索引位置更新列表元素
列表是一种基于索引的顺序数据结构,因此我们可以通过索引位置(也称为索引值)访问列表元素。Python列表的索引值有两种表示方式:正索引和负索引。
正索引 从0开始到n-1,负索引 从-1到-n(即从末尾元素到起始元素)。
示例1
我们需要将第3个元素的值从89更改为21。为此,我们使用方括号和元素的索引值(即2,因为我们使用了正索引)访问列表中的第3个元素。
list_A = [100, 'aa', 89, 'foo']
print('Original list: ', list_A)
# Update value of 3rd element in list
list_A[2] = 21
print("Updated list: ",list_A)
输出
Original list: [100, 'aa', 89, 'foo']
Updated list: [100, 'aa', 21, 'foo']
示例2
让我们用上面的例子来更新第二个元素”aa”,使用负索引。
list_A = [100, 'aa', 89, 'foo']
print('Original list: ', list_A)
# Update value of 3rd element in list
list_A[-3] = 2022
print("Updated list: ",list_A)
输出
Original list: [100, 'aa', 89, 'foo']
Updated list: [100, 2022, 89, 'foo']
列表的第二个元素通过使用负索引值从“aa”更新为2022(字符串类型到整数类型)。
通过元素更新元素
在之前的示例中,我们通过使用元素的索引位置来更新列表元素的值。如果我们不知道元素的位置怎么办?那么我们可以尝试以下方法。
示例
在下面的示例中,我们尝试将列表元素“aa”更新为200。在这种情况下,如果元素“aa”存在于多个位置,200将被多次更新。
list_A = [100, 'aa', 89, 'foo']
print('Original list: ', list_A)
for idx, item in enumerate(list_A):
if 'aa' == item:
list_A[idx] = 200
print("Updated list: ",list_A)
输出
Original list: [100, 'aa', 89, 'foo']
Updated list: [100, 200, 89, 'foo']
同时更新多个元素的值
让我们举一个例子并同时更新多个元素。在这里,我们可以使用索引范围选择列表中的多个项,即开始索引位置到结束索引位置。
示例
在这个例子中,我们试图使用列表的索引范围将值”aa”、89和”foo”更新为”A”、”B”和”C”。
list_A = [100, 'aa', 89, 'foo']
print('Original list: ', list_A)
list_A[1:4] = 'A', 'B', 'C'
print("Updated list: ",list_A)
输出
Original list: [100, 'aa', 89, 'foo']
Updated list: [100, 'A', 'B', 'C'