“列表”是一种可变的数据类型,我们可以在列表中增加、删除、替换元素。列表没有长度限制,元素类型可以不同,使用非常灵活。列表用左中括号开始,右中括号结束,列表中的每个元素用逗号分开。
1.列表的创建
列表的创建有两种方法,[]和list()函数。
[]:将需要存储的元素以逗号分隔放在方括号内,如果没有值,就是空列表。
list()函数:将其他可迭代对象(如字符串、元组或其他列表)转换为列表。
2.列表的操作
列表的常用操作如表2-2所示。
表2-2 列表的常用操作
(1)索引和切片
列表的索引,通过下标访问字符串相应位置的元素,如代码lis[index]。列表的切片,通过起始位置的下标以及步长(step)切取特定对象,lis[start_index:end_index:step]。
(2)扩展
列表的扩展有多种方法,如“+”“extend()”“append()”等。下面的代码将展示不同的扩展方法的作用和最终输出结果的形式。
采用“+”进行扩展,需要注意的是加号两边连接的必须为列表,不能为字符串或者数字,最后得到的是一个列表。
extend()和append()虽然都可以起到扩展结果的作用,但是这两种函数的扩展原理对于可迭代对象(列表)有所不同。extend()是将可迭代对象中的每一个元素纳入列表中。
append()是将整个可迭代对象作为一个元素直接加入列表。在使用时需要特别注意对这两种方法加以区别。
上面的列表扩展方法只是单纯地把要添加的数据直接加到列表的后面,然而有时候我们需要在特定的位置添加元素,这个时候通常采用.insert()方法。下面这个程序是在lis1列表中的下标为1处添加元素“f”。
(3)删除
我们可以通过del和clear方法实现列表的删除。其中del是删除指定元素,而clear是删除列表里面的所有元素。
(4)排序
对列表中的元素进行排序采用的是.sort()方法,这种方法不仅能够对数字元素进行排列,也可以对字符串进行排列,根据字符串从左到右的每一个字符对应的ASCII码大小进行排序。
(5)计数
采用count()方法即可实现列表中元素的计数,用法与字符串的统计相同。
3.列表的推导
列表推导是一种创建列表的简洁方式,它允许在单个语句中使用循环语句和条件语句来生成列表元素。通过列表推导,可以将一个复杂的循环结构压缩成一行代码。Python的内部对列表推导式做了大量的优化,可以保证很快的运行速度,也是推荐使用的一种技术。下面这个程序采用列表推导式构建了一个从0~10的平方数的列表。