Python爬虫、数据分析与可视化:工具详解与案例实战
上QQ阅读APP看书,第一时间看更新

2.1.2 在列表中增、删、改元素

列表中的数据不可能是一成不变的,在表2.1里,我们给出向列表中添加元素的常用方法。

表2.1 向列表里添加元素的常用方法

在如下的AddListDemo.py案例中,我们将通过上述3种方法演示添加元素的操作。


01 languageList=['Python','Java','Go']
02 languageList.append('C# ')
03 # ['Python', 'Java', 'Go','C# ']
04 print(languageList)
05 idList=[1,2]
06 newIdList=[3,4]
07 idList.extend(newIdList)
08 # [1, 2, 3, 4]
09 print(idList)
10 idList.insert(3,5)
11 # [1, 2, 3, 5, 4]
12 print(idList)

在第2行里,我们通过append方法在languageList列表最后添加了一个C#的元素,从第4行的输出结果可以确认添加成功。在第7行里,我们通过extend方法在idList的尾部添加了newIdList列表里的两个元素,通过第9行的打印语句就能确认这一点。

在第10行里,我们通过insert方法在idList的第3号索引位添加了元素5,添加完成后,之后的元素将顺延,从第12行的输出语句里能看到添加的结果。

我们既可以直接通过索引号来更新列表,可以直接用del方法删除指定索引号的元素,还可以通过remove方法删除第一个出现的指定元素。在如下的DelAndUpdListDemo.py案例中将演示相关做法。


01 languageList=['Python','Java','Go']
02 languageList[2]='C# '
03 # ['Python', 'Java', 'C# ']
04 print(languageList)
05 # languageList[5]='Go' # Error
06 idList=[1,2,3,4]
07 del idList[2]
08 # [1, 2, 4]
09 print(idList)
10 # del idList[3] # Error
11 idList.remove(1)
12 # [2, 4]
13 print(idList)
14 # ValueError: list.remove(x): x not in list
15 # idList.remove(100)# 

在第2行里,我们直接通过索引号更改了languageList里的元素,请注意这里的索引号依然是从0开始的。从第4行的打印结果能够确认数据已经被更新。如果我们如第5行那样通过不存在的索引号去更新列表,就会出现异常。

在第7行里,我们通过del方法删除了idList里索引号是2的元素,同样之后的元素会向前顺延。如果我们像第10行那样删除时传入一个不存在的索引号,就会出现异常。

在第11行里,我们演示了通过remove删除列表中指定数据的用法。注意,其中的参数1不是索引号,而是待删除的元素。从第13行的打印语句我们能看到remove后的效果。如果在调用remove方法时传入了一个不存在的元素,比如像第15行那样,就会出现异常。