1.容器型数据类型
变量从是否是容器分为:非容器型数据类型的变量和容器型数据类型的变量
非容器数据类型的变量 - 一个盒子里只有一个格子,所以同一时间只能保存一个数据;
容器型数据类型的变量 - 一个盒子里有多个格子,每个格子可以存储不一样的数据,所以同一时间就可以存储多个数据。
例如:list、dict、tuple、set、str等
2.list
列表 ,将口作为容器标志,里面多个元素用逗号隔开【元素一,元素二,元素三,’‘’‘]
列表是可变的(可变指的是元素的个数、值和顺序可变-支持增删改);列表有序(支持下标操作)
列表中元素:任何类型的数据都可以作为列表中的元素;
元素 指的是容器中的每一个独立的数据;
同一个列表中的元素可以是不同类型的数据
3.获取单个元素
语法:
列表[下标]
说明:
列表 - 任何结果是列表的表达式;例如:保存列表的变量或者具体的列表数据
[] - 固定写法
下标 - 下标是有序序列中元素的位置信息;python中位置信息有两种:
第一种:从前往后从0开始依次增加
第二种:从后往前从—1开始依次减少
list1=[10,20,30,40]
print(list1[0]) # 10
print(list1[2]) # 30
4.切片-获取部分元素
语法1:
列表[开始下标:结束下标:步长]
开始下标到结束下标的方向和步长对应的方向一致,才可以取到数据
heroes=['李白','李信','张飞','关羽','刘备','安其拉','瑶','孙膑']
print(heroes[0:5:2]) # 李白 张飞 刘备
print(heroes[1:-2:-1]) #
print(heroes[2:-2:2]) # 张飞 刘备
print(heroes[-2:0:-3]) # 瑶 安其拉
print(heroes[-1:-4:1]) #
print(heroes[0:6:3]) # 李白 关羽
# '张飞','关羽','刘备'
print(heroes[2:5:1])
# '李白','李信','张飞','关羽'
print(heroes[0:4:1])
# 瑶 安其拉 刘备
print(heroes[-2:-5:-1])
# 李信 关羽 安其拉
print(heroes[1:6:2])
# 孙膑 安其拉
print(heroes[-1:-4:-2])
# 李信 瑶
print(heroes[1:7:5])
语法2:省略步长
列表[开始下标:结束下标] - 步长为1.
heroes=['李白','李信','张飞','关羽','刘备','安其拉','瑶','孙膑']
print(heroes[1:3]) # 李信 张飞
print(heroes[3:0]) # []
语法3:省略开始下标
列表[:结束下标:步长]或 列表[:结束下标]
如果步长为正,从第一个元素往后取;如果步长为负,从最后一个元素往前取;
语法4:省略结束下标
列表[开始下标::步长] 或者[开始下标:]
5.遍历
一个一个全部取出来
方法一 - 直接获取元素
for 变量 in 列表
循环体
变量依次获取的就是列表中的每一个元素
方法二 - 通过获取每个元素的下标来获取元素
for 变量 in range(列表长度)
循环体
变量依次获取的是列表中元素的下标
补充:
len(列表) - 获取列表的长度,即获取列表中元素的个数;
6.增
1) 列表.append(元素)-将元素添加到列表最后
list1=[10,20]
print(list1)
list1.append(100)
print(list1) # [10,20,100]
2) 2) 列表.insert(位置,元素) - 将元素添加到列表某个位置的前面
#练习:已知一个列表,列表中的元素已经从小到大排好序,插入输入的数据,要求插入后不影响顺序。
nums=[12,23,56,78,99,120]
n=int(input('请输入一个数字:'))
count=0
for x in nums:
if n >=x :
count += 1
nums.insert(count,n)
print(nums)
7.删 -删除元素
- del 列表[下标] - 删除指定下标对应的元素
2) 列表.remove(元素) - 删除指定元素
如果元素不存在,会报错!
列表中有多个相同元素,只删除前面那一个!
列表.pap() - 取出最后一个元素,并且返回。
列表.pop(下标) - 取出指定下标对应的元素,并且返回。
8.改
列表[下标]= 值 - 将列表中指定下标对应的元素改成指定的值。
9.判断
1) in
元素 in 列表 - 判断列表中是否存在指定的元素
元素 not in 列表 - 判断列表中是否不存在指定元素