列表
1.什么是列表(list)- 列表元素类型可以一样也可以不一样
1)列表是容器型数据类型:[]是容器的标志,里面多个元素用逗号隔开:[元素1,元素2…]
2)容器是可变的(可变指列表中元素的个数、元素的值、元素的顺序可变)
3)列表是有序的(每个元素都有位置对应的索引值)
4)元素的要求 - 没有要求
5)空列表:
list = [] (里面只有空格也是空列表)
2.列表的查操作
len(列表) - 获取列表中元素的个数(获取列表长度)
查 - 获取列表元素
1)查单个 - 一次获取一个元素
语法:
列表[下标]
说明:
列表 - 任何结果是列表的表达式,一般用保存列表的变量
[] - 固定写法
下标 - 又叫索引,它是有序序列中元素在序列中的位置信息。
列表中每个元素都有两个下标:一个是从0开始一次增加的下标值(0表示第一个元素)
一个是从-1开始依次减少的下标值(-1表示倒数第一个元素,-2表示倒数第二个元素)
查单个需注意:下标不能越界,有效范围:0~长度-1 和 -1~-长度
2)切片 - 获取部分元素
完整语法:
列表[开始下标:结束下标:步长]
说明:
开始下标、结束下标 - 下标值;用来确定切片的有效范围:[开始下标,结束下标)
步长 - 非0整数;用正负号来确定方向(正:从前往后;负:从后往前),用绝对值来决定获取间隔
: - 固定写法
获取原理:
1)如果步长对应方向 和 开始下标对应的元素到结束下标对应的元素的方向不一致,切片无效,结果是空列表
2)如果切片有效,先确定有效范围([开始下标,结束下标)),然后在有效范围内根据步长方向按照步长的绝对值获取元素,创建新的列表
不完整语法:
a.省略步长:列表[开始下标:结束下标] - 默认步长为1
b,省略开始下标:列表[:结束下标:步长] - 如果步长为正就从第一元素开始往后取;如果步长为负就从最后一个元素开始往前取
c.省略结束下标:列表[开始下标::步长] - 如果步长为正就从开始下标元素开始往后取,取到最后一个元素为止;如果步长为负就从开始下标元素从后往前取,取到第一个元素为止。
问题:如果从前往后取,取最后一个元素?从后往前取,取最前面一个元素?
方法一:结束下标越界;
方法二:省略结束下标;
3)遍历 - 一个一个的取,取完
方法一: - 直接获取元素
for 变量 in 列表:
pass(变量依次获取的是列表中的每个元素)
方法二: - 先获取元素下标,再根据下标获取元素
for 变量 in rang(len(列表))
(变量取到的是元素的下标)
方法三: -
for 下标,元素 in enumerate(列表):
同时获取列表元素和下标
nums = [10,45,78,9]
print(nums[2])
print(nums[-2])
print(nums[4])
print(nums[-5])
print([1,2,3,4][1])
num=[1,2,3,4,5]
print(num[1:3:1])
print(num[1:3:-1])
print(num[1:3:2])
film_names = ['碟中谍'