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