元组:
数据特性:存储多个值,不能改变值的列表,只能读,不能改。有序类型,可以通过索引取值。
运行原理:tuple()tuple()就是一个循环器,接收可被迭代的对象(str list tuple )输出元组类型数据。
print((’guan',)) 一个值的元组 t=(1,)
应用场景: 不可变的列表。
常用方法:
索引取值,切片操作。
len()长度
count
index() 三个值 寻找的元素,开始 结束 这个范围内的第一个值。
元组案例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
teas = ['Bob', 'Alex'] friends = input("亲友团[0, 1]:") if friends == '1': teas = tuple(teas) if not isinstance(teas, tuple): teas.clear() for t in teas: print("在职老师:%s" % t)
元组不能改变,但是元组中的元素是可变类型的,例如是列表的话,列表中的值是可改变的,列表是可以改变的。
字典
数据特性:无序,可变类型,key只能是不可变类型,value 可以是任意类型。
运行原理:dict() dict(name="guanchao", age=58)
应用场景:适合记录多个不同类型的值,可以通过Key方便取用
常用操作:
增改查都可以通过key操作
重要方法:
get
update 有则更新,没则添加
setdefault 有则不变,没则添加。 setdefaule 传入一个新的键值对形式 .setdefaule('name','gc')
pop('k')
掌握方法:
popitem()随机删除
fromkeys(可迭代数据,默认值)
{}。fromkeys 生成一个字典模板,字典的key用可遍历的数据类型导入,字典的值统一设定一个默认值。
字典的浅复制和深复制的差别:
浅复制 dic.copy() 它只是将母体字典外壳新增了一个新的应用,新字典的值依然指向旧字典内存地址。
深复制 完全复制,新值的内存地址与旧字典值的内存地址完全不一样。 from copy import deepcopy
集合set
数据特性:无序 无法取值 集合中不存在重复的元素
运行原理:set()空集合set()
应用场景:去重 整体的关系运算
常用操作:
交集 & 并集 | 差集 - 交叉补集^
重要方法:
add 添加单个值
update ({1,3,2})添加多个值
discard()删除
pop ()随机取走
isdisijoint()两个没有交集返回值