Python列表之修改、添加、删除列表元素

   修改列表元素 

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改 的元素的索引,再指定该元素的新值。 

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
motorcycles[0] = 'ducati' 
print(motorcycles) 
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']

在列表中添加元素 

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改 的元素的索引,再指定该元素的新值

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
 
motorcycles[0] = 'ducati' 
print(motorcycles)

你可以修改任何列表元素的值,而不仅仅是第一个元素的值。 

在列表中添加元素 

1. 在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。给列表附加元素时,它将 添加到列表末尾。

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
 
motorcycles.append('ducati') 
print(motorcycles)

 方法append()将元素'ducati'添加到了列表末尾,而不影响列表中的其他所有元素:
 

['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']


         方法append()让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的 append()语句添加元素。下面来创建一个空列表,再在其中添加元素'honda'、'yamaha'和'suzuki':

motorcycles = [] 
 
motorcycles.append('honda') 
motorcycles.append('yamaha') 
motorcycles.append('suzuki') 
 
print(motorcycles)
['honda', 'yamaha', 'suzuki']

2.在列表中插入元素 

使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
 

motorcycles = ['honda', 'yamaha', 'suzuki'] 
 
motorcycles.insert(0, 'ducati') 
print(motorcycles) 
 

在这个示例中,值'ducati'被插入到了列表开头;方法insert()在索引0处添加空间, 并将值'ducati'存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置: 

['ducati', 'honda', 'yamaha', 'suzuki']


 从列表中删除元素

 1. 使用del语句删除元素 如果知道要删除的元素在列表中的位置,可使用del语句。

 

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
 
del motorcycles[0] 
print(motorcycles) 
['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

代码使用del删除了列表motorcycles中的第一个元素——'honda'

使用del可删除任何位置处的列表元素,条件是知道其索引

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
 
del motorcycles[1] 
print(motorcycles) 

以上代码删除前述列表 中的第二个元素——'yamaha'

['honda', 'yamaha', 'suzuki']
['honda', 'suzuki']

2. 使用方法pop()删除元素 

         有时候,你要将元素从列表中删除,并接着使用它的值。例如,你可能需要获取刚被射杀的 外星人的x和y坐标,以便在相应的位置显示爆炸效果;在Web应用程序中,你可能要将用户从活 跃成员列表中删除,并将其加入到非活跃成员列表中。 

         方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类 比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。 

motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
 
popped_motorcycle = motorcycles.pop() 
print(motorcycles) 
print(popped_motorcycle) 
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

假设列表中的摩托车是按购买时间存储的,就可使用方法 pop()打印一条消息,指出最后购买的是哪款摩托车

motorcycles = ['honda', 'yamaha', 'suzuki'] 
 
last_owned = motorcycles.pop() 
print("The last motorcycle I owned was a " + last_owned.title() + ".") 
The last motorcycle I owned was a Suzuki.

输出是一个简单的句子,指出了最新购买的是哪款摩托车

3. 弹出列表中任何位置处的元素 

实际上,你可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素 的索引即可

motorcycles = ['honda', 'yamaha', 'suzuki'] 
 
first_owned = motorcycles.pop(0) 
print('The first motorcycle I owned was a ' + first_owned.title() + '.') 

首先,我们弹出了列表中的第一款摩托车,然后打印了一条有关这辆摩托车的消息 。输出是一个简单的句子,描述了我购买的第一辆摩托车

The first motorcycle I owned was a Honda.

使用pop()时,被弹出的元素就不再在列表中了

        如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:

        如果你要从列表 中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续 使用它,就使用方法pop()

4. 根据值删除元素 

有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使 用方法remove()

例如,假设我们要从列表motorcycles中删除值'ducati'

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] 
print(motorcycles) 
 
motorcycles.remove('ducati') #代码让Python确定'ducati'出现在列表的什么地方,并将该元素删除
print(motorcycles) 
 
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']

使用remove()从列表中删除元素时,也可接着使用它的值。下面删除值'ducati',并打印一 条消息,指出要将其从列表中删除的原因: 

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] 
print(motorcycles) 

too_expensive = 'ducati' 
motorcycles.remove(too_expensive) 
print(motorcycles) 
print("\nA " + too_expensive.title() + " is too expensive for me.") 
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']

A Ducati is too expensive for me.

        方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要 使用循环来判断是否删除了所有这样的值。

你可能感兴趣的:(Python入门)