Python中列表的操作(第6节)


1、列表中更新元素

在前面的教程中,我们简单介绍了列表的用法,可以看出列表的功能十分强大,它是Python的重要数据结构之一。列表不但可以通过索引获得其中的一个元素,还可以通过索引更新其中的元素,类似于变量赋值。例如:

动手练一练:

a = [4, 5, 6, 7]
a[1] = "Python"
print(a) # 输出 [4, 'Python', 6, 7]

执行以上代码,输出结果为:

[4, 'Python', 6, 7]

动手练一练:

a = [4, 5, 6, 7]
a[8] = "Python"
print(a) # 索引超出列表长度,输出错误提示

执行以上代码,输出结果为:

IndexError: list assignment index out of range

上面第一个例子中,直接赋值是最简单更新列表元素的方法,只需要使用索引将新值赋给列表元素即可。一个列表中可以存储不同的数据类型,并且修改的新元素也不需要和原来的元素类型一致。但是要注意的是,更新列表的索引必须是已经存在的索引,不可以对超过列表长度的索引进行更新,否则会提示错误信息“列表分配索引超出范围”。

2、列表中增加元素

Python中的列表是一种可变的数据类型,可以通过索引修改更新现有的元素,但是不能通过索引来添加新的元素。向列表中添加新元素最常用的方法是使用append()方法,该方法可以将新元素添加到列表的末尾。例如:

动手练一练:

a = [4, 5, 6, 7]
a.append("Python")
print(a) # 输出 [4, 5, 6, 7, 'Python']

执行以上代码,输出结果为:

[4, 5, 6, 7, 'Python']

上面的例子中,使用append()方法可以直接在列表的末尾追加一个新元素,但是要注意,append()每次只能追加一个元素,增加多个元素可以用extend()方法,例如:

动手练一练:

a = [4, 5, 6, 7]
a.append([8, 9])
print("append:")
print(a) # 输出 [4, 5, 6, 7, [8, 9]]

print("-------这是虚线-------")

b = [4, 5, 6, 7]
b.extend([8, 9])
print("extend:")
print(b) # 输出 [4, 5, 6, 7, 8, 9]

执行以上代码,输出结果为:

append:
[4, 5, 6, 7, [8, 9]]
-------这是虚线-------
extend:
[4, 5, 6, 7, 8, 9]

上面的例子中,append()和extend()两种方法有不同的效果,append()添加的时候会把添加的数据当成一个整体追加在原来的元素后面,允许添加任意类型的数据。extend()添加的时候会把添加的数据展开成多个元素,并追加在原来的列表后面。

append()和extend()两种方法都可以在列表最后添加新元素,如果想要把新元素插入到列表的指定位置怎么办呢?Python提供了insert()方法用于向列表中指定位置插入新元素的操作,例如:

动手练一练:

a = [4, 5, 6, 7]
print(a) # 输出 [4, 5, 6, 7]

print("insert:")

a.insert(2, "Python")
print(a) # 输出 [4, 5, 'Python', 6, 7]

执行以上代码,输出结果为:

[4, 5, 6, 7]
insert:
[4, 5, 'Python', 6, 7]

上面的例子中,insert()方法可以在指定位置插入一个元素,同时将原来的元素向后移动。insert(第一个参数,第二个参数)方法必须填入两个参数,第一个参数是您希望插入新元素的位置索引,第二个参数是您希望插入的新元素,insert()和append()一样,一次只能插入一个新元素。