列表(list)
- 列表是python中的一个对象;
- 列表(object)就是内存中专门用来存储数据的一块区域,
列表可以保存多个有序区域。
一. 创建列表
- 使用[ ]创建列表
my_list = [] #创建空列表
- 列表存储的数据,称为元素;一个列表中可以存储多个元素,
也可以创建列表时,指定列表中的元素
my_list = [10] #创建包含一个元素的列表
#多个元素之间使用逗号(,)分隔
my_list2 = [10, 20, 30, 40, 50] #创建包含5个元素的列表
- 列表可以保存任意对象
my_list = [10, 'hello', True, None, print]
二. 引用
- 列表中的对象都是按照插入的顺序储存在列表中的,
故可以使用索引(index)获取列表中的元素; - 索引是元素在列表中的位置,每个元素都有唯一对应的索引;
- 索引是从0开始的整数,第一个元素索引为0,第二个元素索引为1,以此类推…
#通过索引获取元素
my_list = [10, 20, 30, 40, 50]
print(my_list[3]) #输出:40
- 列表索引的范围是:(0, 列表长度 - 1)如果超出这个范围,就会抛出异常。
- 通过函数len()可以获取列表的长度,
len(列表名)
返回一个整型。
三. 切片
-
切片值从现有的列表中,获取一个子列表;
-
列表的索引值可以是负数,如果索引是负数则从后向前获取元素,
-1是倒数第一个元素,-2为倒数第二个元素,以此类推…使用负数索引时,
仍然要注意不能超出索引范围。 -
通过切片获取元素:
列表名[起始索引:结束索引:步长]
; -
通过切片获取元素时,会包括起始位置的元素,但不会包括结束位置的元素;
-
起始位置和结束为止都可以省略:
- 如果省略结束位置,则会一直截取到最后;
- 如果省略开始位置,则会从第一个元素开始截取;
- 如果起始和结束位置都省略,则相当于复制列表;
-
步长表示获取元素的间隔,步长不能是0,但可以是负数,
如果是负数则表示从后向前获取元素,步长可以省略;
num = [1, 2, 3, 4, 5, 6, 7, 8,9]
print(num) #打印列表:[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[0:4]) #获取第1到第4个元素:[1, 2, 3, 4]
print(num[4:]) #从第5个开始获取到最后一个元素:[5, 6, 7, 8, 9]
print(num[:6]) #从第1元素开始获取到第六个:[1, 2, 3, 4, 5, 6]
print(num[:-2]) #从第1个元素获取到倒数第三个元素:[1, 2, 3, 4, 5, 6, 7]
print(num[:]) #获取整个列表:[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[0:7:2]) #从第1个元素到底7个元素,间隔为2:[1, 3, 5, 7]
print(num[7:0:-2]) #从第8个元素到第2个元素,间隔为2:[8, 6, 4, 2]
四. 通用操作
- 连接操作(+)和复制操作(*)
num = [1, 2, 3] + [4, 5, 6] #结果为:[1, 2, 3, 4, 5, 6]
num2 = [1, 2, 3] * 3 #结果为:[1, 2, 3, 1, 2, 3, 1, 2, 3]
- in 和 not in
- in用来检查指定元素是否在列表中;如果存在返回True,否则返回False。
- not in用来检查指定元素是否不在列表中;如果存在返回False,否则返回True。
- len():获取列表的长度
- min() 和 max()
- min():获取列表中的最小值
- max():获取元素中的最大值