3.列表元素的增删修改 及其排序

3.2修改,添加和删除元素

3.2.1修改列表元素

例如,假设有一个摩托车列表,其中的一个元素为“honda",如何修改它的值呢?

1.motorcycles = ['honda','yamha','suzuki']
  print(motorcycles)
2.motorcycles[0] = 'ducati'
  print(motorcycles)

  ['honda','yamha','suzuki']
  ['ducati','yamha','suzuki']

在这里你可以修改任何元素的值,不仅仅是第一个元素。

3.2.2在列表中添加元素

1.在列表末尾添加元素
继续使用上一个示例中的列表,在其末尾添加新元素‘ducati’;

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

   ['honda','yamha','suzuki']
   ['honda','yamha','suzuki','ducati']

方法append()让动态创建列表易如反掌,你也可以创建一个空列表,再往里头添加元素。
2.在列表中插入元素
使用方法insert()可以在列表任意位置添加新元素。

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

结果:
  ['ducati','honda','yamaha','suzuki']

方法insert()在索引0处添加空间,并将值’ducati’存储到这个地方。这种操作将列表既有的每一个元素都右移一位。

3.2.3从列表删除元素

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

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

1.del motorcycles[0] //删除列表中的第一个元素。
  print(motorcycles)

结果对比:
  ['honda','yamaha','suzuki']
  ['yamaha','suzuki']

当然了 使用del可以删除任意位置处的列表元素,条件是知道索引
例:

//还是上图的列表 我删除第二个元素
  del motorcycles[1]
  print(motorcycles)

结果:
  ['honda','suzuki']

2.使用方法pop()删除元素
方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出:pop列表就像一个栈而删除列表末尾的的元素即相当于弹出栈顶元素。
下面从列表motorcycles中弹出一款摩托车

1.motorcycles = ['honda','yamaha','suzuki']
  print(motorcycles)
2.popped_motorcycle = motorcycles.pop()
3.print(motorcycles)
4.print(popped_motorcycles) 

我们首先定义并打印列表motorcycels(1)。接下来,我们从这个列表中弹出一个值。并将其储存到变量popped_motorcycle中(2)。打印列表,去核实从其中删除了一个值(3)。最后我们打印弹出来的值,证明我们依然能访问弹出的值(4)。

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

输出表明,列表末尾的值’suzuki’已删除,他现在存储在变量popped_motorcycle中。
3.弹出列表任何位置的元素
实际上,你可以使用pop()来删除列表中任意位置的元素,只需要在括号内指定要删除的元素的索引即可。

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

首先弹出的是列表中的第一个款摩托车(1),然后打印一条关于摩托车的消息

The first motorcycles I owned was a Honda

// 当使用pop()时,被弹出元素已经不再列表中了

4.根据值删除元素
假设要删除列表motorcycles中元素’ducati’

  motorcycles = ['honda','yamaha','suzuki','ducati']
  print(motorcycles)
1.motorcycles.remove('ducati') //确认'ducati'出现在列表的什么地方,并删除
  print(motorcycles)
  
结果:
  ['honda','yamaha','suzuki','ducati']
  ['honda','yamaha','suzuki']

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

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

2 too_expensive = 'ducati'
3 motorcycles.remove(too_expensive)
  print(motorcycles)
4 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()只能删除第一个指定的值,如果要删除的值可能在列表中出现多次 需要使用循环来判断所有这样的值。

3.3组织结构

3.3.1使用sort()放法对列表进行永久性排序
假设拥有一个汽车列表,并将其中的所有汽车按字母顺序来排列,简化这项任务,假设该列表中的所有值都是小写的

  cars = ['bmw','audi','toyota','subaru']
1.cars.sort()
  print(cars)

结果:
  ['audi','bmw','subaru','toyota']

现在方法sort()永久性修改了列表元素的排列顺序。按字母排列再也无法恢复到原来的排列顺序。

还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse = True。

  cars = ['bmw','audi','toyota','subaru']
  cars.sort(reverse=True)
  print(cars)

结果:
  ['toyota','subaru','bmw','audi'] //对列表元素的排列顺序的修改也是永久的

3.3.2 使用函数sorted()对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted()。函数sorted()可以1满足这种需求。

   cars = ['bmw','audi','toyota','subaru']
 1 print("Here is the original list:")
   print(cars)
 2 print("Here is the sorted list:")
   print(cars)
 3 print("Here is the original list again:")
   print(cars)

结果:
  Here is the original list:
  ['bmw','audi','toyota','subaru']

  Here is the sorted list:
  ['audi','bmw','subaru','toyota']

4 Here is the original list again:
  ['bmw','audi','toyota','subaru'] 
    

注意 ,调用函数sorted()后,列表元素的排列顺序并没有变(见4)。如果要按与字母顺序相反的显示列表,也可向函数sorted()传递参数reverse =True

3.3.3 倒着打印列表
要反转列表元素的排列顺序,可使用方法reverse()。假设列表元素是按购买时间排列的,可轻松按相反顺序排列其中的汽车:

 cars = ['bmw','audi','toyota','subaru']
 print(cars)

 cars.reverse() //reverse()不是指按着与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。
 print(cars)

结果:
 ['bmw','audi','toyota','subaru']
 ['subaru','toyota','audi','bmw'] 

3.3.4 确认列表的长度
使用函数len()可快速获悉列表的长度。在下面的实例中,列表包括四个元素,因此其长度为4:

>>> cars = ['bmw','audi','toyota','subaru']
>>> len(cars)
4

注意:
Python计算列表元素个数时从1开始,因此确认列表长度时,你应该不会遇到差一错误。

小结

本章中学习了 1.列表是什么以及如何使用1其中的元素;2.如何定义列表以及如何增删元素;3.如何对列表进行永久性排序,以及如何为展示列表而进行的临时排序;如何确定列表的长度,以及如何使用索引避免错误(索引那个我觉得太简单了就没一一列举)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值