列表
一、认识列表
- 什么是列表( list )
列表是容器型数据类型(一个列表可以同时保存多个数据)
将 [ ] 作为容器的标志,里面多个元素用逗号隔开:[1,2,3,4,5,…]
# 非容器:一个变量只能保存一个数据(只有一个格子的盒子)
# 容器:一个变量可以同时保存多个数据(有多个格子的盒子)
- 特点
列表是可变的(指的是列表中元素的个数、元素的值和元素的顺序可变)
列表是有序的(每个元素都有位置对应的索引值(下标))。
[10,20,30] -> [10,20,30,40,50] #元素个数可变
[10,20,30] -> [100,20,30] #元素值可变
[10,20,30] -> [20,10,30] #元素顺序可变
- 列表对元素的要求 —— 没有要求
任何类型的数据,都可以作为列表的元素;而且同一个列表可以保存不同类型的数据。 - 列表的增删改查
# 查
# 1.查单个 - 获取一个元素
语法:
列表[下标] - 获取指定下标对应的元素
说明:列表 - 任何结果是列表的表达式,一般用保存列表的变量
[] - 固定写法
下标 - 下标又叫索引,它是有序序列中元素在序列中的位置信息。列表中的每个元素都有两个下标值:
一个是从0开始依次增加的下标志值(0表示第一个元素)
一个是从-1开始依次减少的下标志(-1表示最后一个元素)
注意:下标不能越界,下标的有效范围:0 ~ 长度-1 和 -1 ~ -长度
# 2.切片 - 获取部分元素
语法:
1.完整语法:列表[开始下标:结束下标:步长]
说明:开始下标、结束下标 - 下标值;用来确定切片的范围
步长 - 整数或者负整数;用正负号来决定获取的方向
获取原理:如果步长对应的方向和开始下标到结束下标对应元素的方向不一致,切片无效,结果是空列表。
如果切片有效,先确定有效范围([开始下标,结束下标)),然后再有效范围内根据步长方向按照步长的绝对值获取元素,创建新的列表。
2.省略语法
a.省略步长:列表[开始下标:结束下标] - 省略步长,步长就是1
b.省略开始下标:列表[:结束下标:步长] - 如果步长为正就从第一个元素开始往后取,如果步长为负就从最后一个元素开始往前取。
c.省略结束下标:列表[开始下标::步长] - 也是根据步长决定
# 3.遍历 - 一个一个的取,取完
方法一:
for 变量 in 列表: # (变量依次获取的是列表中的每个元素)
pass
nums = [1,2,3,4,5,6]
for x in nums:
print(x)
方法二:
for 下标 in range(len(列表)): #同时获取列表元素和下标
nums = [1,2,3,4,5,6]
for x in range(len(nums)):
print(x,nums[x])
方法三:
for 下标,元素 in enumerate(列表) # 同时获取列表元素和下标
# 获取列表长度(列表中元素的个数)
len(列表)
- 列表的增、删、改
# 增 - 添加元素
列表.append(元素) - 在指定列表的最后添加指定元素
列表.insert(下标,元素) - 在指定下标对应的元素前面添加元素
# 删 - 删除列表元素
del 列表[下标] - 删除列表中指定下标对应的元素
列表.remove(元素) - 删除列表中指定元素,有相同的只删除最前面那一个,如果元素不存在会报错
列表.pop() - 取出列表最后一个元素,并且返回
列表.pop(下标) - 取出列表中指定下标的元素,并且返回
# 改 - 修改元素的值
列表[下标] = 新元素