元组
元组中的元素可以是任何的数据类型
元组就是不可变的列表,所以列表中所有不会改变列表的操作都适用于元组
-
元组中一些特有的方法和功能
-
元组只有一个元素时:元组(元素,) – 在唯一一个元素之后必须有逗号
-
定义元组时可以直接用逗号隔开多个元素省略括号,但前提是省略括号不会存在歧义
-
获取元素时可以通过保持变量个数和元素相等,来分别用变量获取对应元素
变量1,变量2,变量3 = 元素1 ,元素2 ,元素3 <==> 变量1=元素1,变量2=元素2,变量3=元素3
-
变量个数少于元素个数时,可以在任一个元素前加*来获取元素(只能使用一个),这样其他变量可以获取对应的元素,剩下的元素作为一个列表返回给前加星号的变量
变量1,变量2,*变量3=元素1,元素2,元素3,元素4<==>变量1=元素1,变量2=元素2,变量3=[元素3,元素4]
-
字典
-
概念
字典是容器型数据类型,用{}为标志,字典里多个元素用逗号隔开(元素必须是键值对)
字典 = {键1:值1,键2:值2,键3:值3}
字典是可变的,是无序的(不支持下标操作)
字典的元素:键(key)是不可变的,值可以是任何类型的数据且可以重复
-
字典的增删改查
- 查 - 获取字典的值
获取单个值:
字典[键] - 获取字典中指定键所对应的值,若该键不存在则会报错
字典.get(键) - 获取字典中指定键所对应的值,若该键不存在则返回None
字典.get(键,默认值) - 获取字典中指定键所对应的值,若该键不存在则返回默认值
遍历:
(推荐使用)方法一:
for 变量 in 字典:
循环体(变量在循环中得到的是字典的key)
方法二:
for 变量1,变量2 in 字典.item():
循环体(循环中变量1获取的是字典的键,变量2获取的是字典的值)
-
增/改 - 增加或修改键值对的值
字典[key]=值 - 若key不存在于此字典中就是增加键值对,若key存在于此字典中则为修改该key对应的值
-
删
del 字典[key] - 删除字典中对应key的值
字典.pop(key) - 取出字典中对应key的值
-
相关操作
-
字典不支持加法、乘法运算、比较大小的运算(因为字典无序)
-
判断字典是否相等:
==/!= ---- 判断字典中数据本身是否相等
is ---- 判断字典中键值对的地址是否相等
-
in和not in
key in 字典 — 判断key是否在字典中
-
相关函数:len,dict
len(字典) — 获取字典中键值对的个数
dict(数据) ---- 将数据转换成字典类型(数据要求:1.序列,2.序列的元素也是序列,3.作为元素的序列有且只有2个元素,且其中第一个元素不可变)
字典转换成其他数据类型:
1)字典转换成列表或元组:把字典的key作为新列表或元组的元素
2)字典转换成str:转换后几乎不变,只是在原来大括号外加" "
- 字典转换成布尔:空字典则为False,非空字典则为True
-
-
相关方法
字典.clear() — 清空字典中的键值对
字典.copy() — 拷贝产生一个新的一模一样的字典
dict.fromkeys(序列,默认值=None) - 创建一个新的字典,序列中所有元素为新字典的key,每个key对应的值为默认值
字典.items() - 获取字典的键值对
字典.keys() - 获取字典的键
字典.values() - 获取字典的值
字典.setdefault(key,value) - 字典中添加键值对,单纯添加键值对不修改字典
字典1.update(字典2) - 将字典2中所有键值对全部添加到字典1中