列表是Python中内置的有序可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号隔开,列表中元素的类型可以相同也可以不同。
列表的创建
创建列表的两种方式:
列表元素的索引
列表创建完成后,如何访问里面的元素呢?主要是通过列表名[索引]来访问,Python中的索引支持两个方向:从左到右从0开始不断增大、从右向左从-1开始不断减小,因此访问列表中的某一元素,通常有两种方式。例如 a_list = [1, 3, 5, 7, 9],a_list[2]和a_list[-3]表示的都是同一个元素5。
列表的切片操作
如果想同时访问多个元素,可以使用Python中的切片操作。语法形式为:列表对象 [start : end : step]。start表示起始位置的索引,end表示结束位置的索引,但不包含结束位置,step表示步长,默认为1。start和end中间的冒号不可省略,其他部分都可省略。
由于Python中支持两个方向的索引,所以start和end既可以是正数,也可以是负数,但一定要在规定的范围内,否则会报错。执行切片操作时,不管索引是正数还是负数,首先找到该索引对应的元素,找到起始元素和结束元素后,再根据步长来确定访问规则,这里的步长,也支持正数和负数,表示不同的方向。如果按照指定的方向,无法从起始元素到达结束元素,此时结果为空列表。例如:a_list = list(range(1, 10))。此时,元素和对应的索引关系如下。
列表切片操作举例。
列表内容的修改
列表是一种可变序列,允许对其中的元素进行修改,分为三种情况:修改单个元素(对新的值没有特殊要求)、修改连续的多个元素(要求新的值必须是可迭代对象)、修改不连续的多个元素(要求新的值必须是可迭代对象,且可迭代对象中元素个数和之前的元素个数相同)。具体操作如下。
列表的常见方法
除了索引和切片操作外,列表还支持添加元素、删除元素、统计某元素出现次数、排序、逆序等操作,列表的常见方法如下。
同时系统中提供了大量的对列表的操作,例如对列表中元素求和、求最大值、求最小值、求长度、列表合并、列表复制等操作,常见方法如下。
列表推导式
为了方便生成列表,Python中提供了列表推导式,列表推导式在逻辑上相当于一个循环,形式更加简洁,方便好用。
- a_list的内容为:[1, 4, 9, 16, 25, 36, 49, 64, 81]
- b_list的内容为:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]
- c_list的内容为:[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]]
小小练习题
更多关于手把手教你学Python的文章和视频请关注微信公众号:手把手教你学编程。或者腾讯课堂、CSDN学院 里的手把手教你学Python系列视频。