2 Python编程:从入门到实践--列表简介

列表是什么?

  列表是一系列按特定顺序排列的元素组成。在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。

访问列表元素

  列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

>>> name = ['lwd','gm','dq']
>>> print name
['lwd', 'gm', 'dq']
>>> print name[0]
lwd

  Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。

修改、添加和删除元素

  你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。

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

例如将列表name中lwd改为hhh
>>> print name
['lwd', 'gm', 'dq']
>>> 
>>> 
>>> name[0] = 'hhh'
>>> print name
['hhh', 'gm', 'dq'] 

  在列表中添加元素,直接添加至列表末尾 

>>> name.append('zh')  
>>> print name
['hhh', 'gm', 'dq', 'zh']

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

>>> name.insert(1,'lw')
>>> print name
['hhh', 'lw', 'gm', 'dq', 'zh'] 

从列表中删除元素

  del语句删除元素,将值从列表中删除,你就无法在访问它了。

>>> del name[0]
>>> print name
['lw', 'gm', 'dq', 'zh']

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

>>> print name
['lw', 'gm', 'dq', 'zh']
>>> name_new = name.pop()
>>> print name
['lw', 'gm', 'dq']
>>> print name_new
zh

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

>>> print name
['lw', 'gm', 'dq']
>>> name_new = name.pop(0)
>>> print name
['gm', 'dq']
>>> print name_new
lw

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

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

>>> print name
['gm', 'dq'] 
>>> name.remove('dq')
>>> print name
['gm']

  组织列表

 

  使用方法sort()对列表进行永久性排序 

>>> print name
['gm', 'lwd', 'ddd', 'www']
>>> name.sort()  
>>> print name
['ddd', 'gm', 'lwd', 'www']

  使用函数sorted()对列表进行临时排序

>>> print sorted(name)
['ddd', 'gm', 'lwd', 'www']
>>> 
>>> print sorted(name,reverse=True)
['www', 'lwd', 'gm', 'ddd']

  倒着打印列表

  要反转列表元素的排列顺序,可使用方法reverse()。注意,reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可。

>>> print name
['ddd', 'gm', 'lwd', 'www']
>>> name.reverse()
>>> print name
['www', 'lwd', 'gm', 'ddd']
>>> name.reverse()
>>> print name    
['ddd', 'gm', 'lwd', 'www']

  确定列表长度,len()

>>> len(name)
4

  

  

 

 

 

 

 

 

  

 

posted @ 2022-06-09 15:16  摩天居士-谢烟客  阅读(90)  评论(0编辑  收藏  举报