一. Tuple(元组):与列表类似,但是元素不能够修改
1.形式:tuple = ()
# 元组与表达式的区分:当元组中只有一个元素的时候,需要在元素后加上英文逗号,以区分自身是元组,而不是单纯的表达式。
不建议的形式,简写形式如下:
格式类型依然是tuple,不带括号编辑的时候,仍然默认是元组。
2.基本操作:增删改查
增:元组不接受增加,一般是使用’连接‘来完成操作
# 'tuple' object does not support item assignment,元组不吃这一套
# 如果采用连接的方式,则可以形似增加,不过要开创一个新的空间出来
删:不是删除元组中的元素,而是清理掉该元组
改:修改元组浅层的数据是会报错的,但是如果元组中包含的元素是可变数据类型,则可以。
# 元组下的内容得到了修改
3.强制类型转化:tuple()
# 完成了强制转换
二. dict字典:无序,键值对(键必须使用不可变类型,且唯一)
1.定义字典:dict = {'a':1,'b':2,'c':3,'d':[1,2]},字典的创建以及访问如下图
# 用基本的访问方式,如果是不存在的键会报错
# 如果采用get模式,对于不存在的键,则不会报错,而是返回None值或者你定义用来替代默认返回值None的值。
2.通过列表创建字典
A. 调用fromkeys模式,利用列表作为键值,用同样的数据作为值,生成字典。
3.增删改查
增:
改:
删:
del模式
clear模式:清空字典内容
pop模式:通过键值,弹出相应的’值‘(相当于删除),不过可以获取被删的值。
# 该模式下,如果键值是不存在的,那么会报错,设定默认值,则可以避免报错,还可以获得一个返回值。使得程序更加健壮。
popitem模式:弹出最后一个值,同时获得的是’键值对‘,元组类型
# 如果列表为空会报错
4.字典生成式:
items=['Fruits','Books','Others']
prices=[96,78,85]
d={item:price for item,price in zip(items,prices)}
print(d) #想要结果是大写可以在item.后加upper():
#结果1
{'Fruits': 96, 'Books': 78, 'Others': 85}
#结果2
{'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 85}
5.字典视图:简单来说是对字典内容的获取——三个模式:key()-获取字典的键值;values()-获取字典的值;items()-获取字典中所有的键和值
# 获取字典中所有的键值,且类型为dict_keys
# 获取字典中所有的值,数据类型为dict_values
# 获取字典中的键值对,类型为dict_items,同时再将其转化为列表,列表中又将键值对作为元组的形式存储。
思考:为什么要使用字典视图?
6.字典的遍历和获取值
7.字典的特点
A.字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
B.字典中的元素是无序的——>无法在指定的位置上插入元素
C.字典中的key必须是不可变对象——>比如整数,字符串是不可变对象;列表是可变对象
D.字典也可以根据需要动态地伸缩——>随着元素的增加而增加,随着元素的减少而减少
E.字典会浪费较大的内存,是一种使用空间换时间的数据结构