元组和字典
元组
-
什么是元组(tuple)
- 元组是容器性类型数据,将()作为容器的标志,里面多个元素用逗号隔开:(元素1, 元素2, 元素3, …)
- 元组不可变(不支持元素的增删改);元组是有序的(支持下标操作)
- 元组中的元素可以是任何类型的数据,并且可以重复
-
只有一个元素的元组(元素,)
如果一个元组中有且只有一个元素,那么唯一的元素后面必须加逗号
-
省略括号
在没有歧义的情况下,可以省略元组的(),直接将多个元素用逗号隔开来表示一个元组
-
获取元素
-
列表获取元素的方法元组都支持
-
让变量的个数和元组中元素的个数保持一致来获取元组中所有元素的值
变量1, 变量2, 变量3, … = 元组
-
同时用多个变量获取元组元素的时候,变量的个数可以比元组中元素的个数少,但是必须有且只有一个变量前有*(该变量为列表)
-
-
元组相关操作
列表相关操作元组都支持
字典
-
什么时候使用字典
同时保存多个意义不同的数据就使用字典
-
什么是字典(dict)
-
字典是容器型数据类型,将{}作为容器标志,里面多个元素用逗号隔开(元素必须是键值对):{键1: 值1, 键2: 值2, 键3: 值3, …}
-
字典是可变的(支持元素的增删改查);字典是无序的
-
字典中的元素必须是键值对:
键(key) - 必须是不可变的数据(数字、字符串、元组),一般使用字符串;键是用来对值进行描述和区分的;键在字典中必须是唯一的
值 - 没有要求
-
-
字典的增删改查
-
查 - 获取值
-
获取单个值:
字典[key] - 获取指定key对应的值(如果key不存在会报错)
字典.get(key) - 获取指定key对应的值(如果key不存在不会报错,返回None)
字典.get(key, 默认值) - 获取指定key对应的值(如果key不存在会返回默认值)
-
遍历:
for 变量 in 字典:
循环体
注意:变量依次取到的是字典中的key
-
-
增、改
字典[key] = 值 - 当key存在就是修改指定key对应的值;当key不存在就是添加键值对
-
删
del 字典[key] - 删除指定key对应的键值对
字典.pop(key) - 取出指定key对应的值,并且返回
-
-
字典的相关操作
-
字典不支持加法、乘法运算,也不支持比较大小,只支持比较相等
-
in 和 not in
key in 字典 - 判断字典中是否存在指定的键
-
相关函数:len、dict
-
获取长度 - len
-
字典的类型转换
-
dict(数据) - 将指定数据转换为字典,数据的要求:
a.数据本身是序列
b.序列中的每个元素必须是长度为2的小序列
c.小序列中的第一个元素是不可变的数据
list(字典) - 将指定字典转换为列表(将字典的key作为列表的元素)
-
-
相关方法:
- 字典.clear() - 清空字典
- 字典.copy() - 复制字典产生一个一模一样的新字典并返回
- dict.fromkeys(序列) - 创建一个新的字典,字典的key是序列中的每个元素,值都是None
- dict.fromkeys(序列, 值) - 创建一个新的字典,字典的key是序列中的每个元素,值都是指定的值
- 字典.keys() - 获取字典所有的key(返回值是序列但不是列表)
- 字典.value() - 获取字典所有的值(返回值是序列但不是列表)
- 字典.items() - 同时获取字典的key和值(返回值是序列但是不是列表,序列中的元素是元组)
- 字典.setdefault(键, 值) - 在字典中添加键值对(不会修改已经存在的键值对)
- 字典1.update(字典2) - 将字典2中所有的键值对都添加到字典1中(注意:字典2不一定是字典,也可以是能转换成字典的序列)
-
-