一、列表类型(list)
列表是用方括号标注、逗号分隔的一组值,可以包含不同类型的元素
列表内的数据有先后顺序关系
列表是可变的容器
1、创建列表
构建函数 list()
# range()函数可以生成一个可迭代对象(可设置起始、终止和步长)
2、列表的运算
+ 用于拼接列表(数据存储新的列表,即会改变原来的内存地址)
+= 追加(追加对象可以是一个列表,也可以是一个可迭代对象)
* 用于生成重复的列表
==、 !=用于比较
in 、not in 用于判断一个数据元素是否在列表中
3、列表访问
列表的索引、切片和字符串的索引、切片是一样(在Python基础 变量一)
4、列表操作
4.1 添加数据
list.append(x) #向列表的末尾追加单个数据
list.insert(n,x) #将某个数据x 插入到n这个索引位置的数据之前
list.extend(可迭代对象) #等同于:list += 可迭代对象
4.2 修改数据
通过索引赋值改变列表内的数据
4.3 删除数据
list.remove(x) #从列表list中删除第一次出现在列表的数据元素,x不存
在会报错
list.pop() #根据索引删除元素,并返还 该元素;不提供索引默认
删除最后一个元素
list.clear() #清空列表
del 语句可以删除指定位置的数据元素
4.4 常见API
len(list): 查询列表元素个数
max(): 返回列表元素最大值
min(): 返回列表元素最小值
二、元组类型(tuple)
元组用来存储有序数据,多个值用逗号隔开
元组使用小括号(),但小括号可有可无;
元组的元素多为异质的,不可变,通过解包或索引访问;
列表的元素多为同质的,可变,可迭代访问。
1、创建元组
2、元组操作
2.1 删除
元组中的元素值是不允许删除的,但可以用 del 删除元组
2.2 查看
元组的访问同列表一样(通过下标(索引)和切片等方式去访问)
2.3 解包
#解构赋值,左侧变量和右侧序列元素的数量要相等
3、元组运算
元组不可变,元素中的元素是不能修改的,但可以对元组进行连接组合
4、常见API
len(tuple):返回元组中元素个数
max(tuple):返回元组中元素最大值
min(tuple):返回元组中元素最小值
三、字典(dict)
a. 字典是可变容器,可存储任意类型对象
b. 字典以 键(key)+ 值(value)的形式进行映射,键值对用冒号分隔,对之间用逗号分割
(如:d = {key1:value1,key2:value2} )
c. 字典的数据是无序的
d. 字典的键只能用不可变类型,且不能重复
e. 字典的数据只能用键进行索引,不能用整数进行索引
1、创建字典
字典的创建函数 dict()
2、字典操作
字典支持 增、删、改、查,可以通过键访问对应的值进行操作。
(键存在就改变对应值;不存在就添加)
3、删除元素
既能删除单一元素,也能清空字典,也能用del命令删除字典
4、常见API
len(dict) 计算字典个数,即键的总数
str(dict) 输出字典,但转换为了字符串类型
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.get(key,default=None) 返回指定键的值,如果键不存在 返回default设置的默认值
key in dict 如果键在字典dict中返回true,不在返回false
dict.items() 以列表返回一个视图对象
dict.keys() 返回一个键的视图对象
dict.values() 返回一个值的视图对象
dict.update(dict2) 把字典dict2的键值对更新到dict里
四、集合(set)/ 固定集合(frozenset)
set的元素值必须是不可变的,不能存储可变类型
集合是可变的容器,固定集合是不可变的集合
集合相当于只有键没有值的字典,(也可以理解为键和值相等)
集合内的数据都是唯一的,不可变
1、创建集合
集合的创建函数 set()
2、集合操作
s.add(x) 添加元素到集合
s.update(x) 添加元素到集合,参数可以是列表、元组、字典等,x可以有多个
s.remove(x) 将x元素从集合s中移除(不存在会报错)
s.discard(x) 将x元素从集合s中移除(不存在不会报错)
s.pop() 对集合进行无序的排列,将这个无序排列集合的左面第一个元素删除
3、常见API
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除指定集合中存在的另一个参数集合的所有元素
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回指定集合中存在的另一个参数集合的共有元素
isdisjoint() 判断两个集合是否包含相同元素,返回True、False
issubset() 判断指定集合是否为参数集合的子集
issuperset() 判断参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合
symmetric_difference_update() 移除指定集合中在另外一个参数集合相同的
元素,并将另外一个参数集合中不同的元素插入到指定集合中
union() 返回两个集合的并集
update() 给集合添加元素
len() 计算集合元素个数