Python基础语法-元组和字典
1.元组 (tuple)
1.1 元组特性
元组是容器型数据类型,将()作为容器的标志,多个元素用逗号隔开。
语法:(元素1, 元素2, 元素3, …)
特点:
- 元组不可变
- 元组是有序的
- 任何类型的数据都可以作为元组的元素
验证:
a = 0
t1 = (True, 1, 1.25, '123', [10, 20], a)
print(t1, type(t1))
验证结果:
***注:***判断一个数据是否是某几个数据中的一个,可以用in操作
验证:
# 判断num是否是数字或字符串
# 方案1:
num = 23
if type(num) == int or type(num) == float or type(num) == str:
print('是数字或字符串')
# 方案二
if type(num) in (int, float, str)
print('是数字或字符串')
验证结果:
1.2 相关操作
-
max和min
max(元组)
min(元组)
-
sum
sum(元组)
-
sorted
sorted(元组)
-
类型转换
tuple(序列)
-
count
元组.count(元素)
-
index
元组.index(元素)
-
len
len(元组)
特殊情况:
-
只有一个元素的元组
语法:(元素,)
例:
t = (2,) print(t1, type(t1))
-
元组在没有歧义的情况下可以省略()
例:
t = 1, 2, 3 print(t2, type(t2))
-
同时使用多个变量获取元组的元素
-
让变量的个数和元组中元素数据保持一致
例:
t2 = 1, 2, 3 a, b, c, = t2 print(a, b, c) # 将元组中每个元素按顺序依次赋值给变量
-
让变量的个数小于元素的个数,但必须在某一个变量前加 * ,
- 先让不带 * 的变量按照位置获取元素
- 剩下的部分全部保存到带 * 的变量对应的列表当中
例:
t2 = 1, 2, 3, 4, 5, 6 print(a, b, c) x, *y, z = t2 print(x, *y, z)
当有一组数据需要保存,需要重复使用,并且不能修改元素数量,元素顺序,元素时,使用元组。
-
2.字典(dict)
字典是容器型数据类型,将 {} 作为容器的标志,多个键值对用逗号隔开。
2.1特点
- 字典是可变的;
- 字典是无序的。
2.2对元素的要求
- 元素必须是键值对;
- 键:只能是不可变的数据,例如:元组、字符串、数字。键是唯一的,目的是对值做区分和说明;
- 值:真正要保存的数据,可以是任意数据。
2.3获取字典的值
-
获取字典保存的一个值
语法1:字典[键]
语法2:字典.get(键)
语法3:字典.get(键, 默认值)
-
遍历字典
语法:
for 变量 in 字典:
循环体
例:
'name': 'Python2106', 'address': '9教', 'lecturer': { 'name': '余婷', 'age': 18, 'tel': '13678192302', 'QQ': '726550822' }, 'head_teacher': { 'name': '张瑞燕', 'tel': '110', 'QQ': '7283211' }, 'students': [ { 'name': '陈来', 'age': 20, 'gender': '女', 'score': 98, 'contacts': { 'name': 'p2', 'tel': '120' } }, { 'name': '葛奕磊', 'age': 25, 'gender': '男', 'score': 80, 'contacts': { 'name': 'p1', 'tel': '119' } } ] } print(class1['name']) # 1. 获取班级的名字 print(class1['lecturer']['name'], class1['lecturer']['age']) # 2. 获取讲师的名字和年龄 print(class1['head_teacher']['name'], class1['head_teacher']['tel']) # 3. 获取班主任的名字和电话 print(class1['students'][0]['name']) # 4. 获取第一个学生的姓名 for x in class1['students']: print(x['contacts']['name']) # 5. 获取所有学生的联系人的名字 a = 0 for score in class1['students']: a += score['score'] b = len(class1['students']) print(a / b) # 6. 计算所有学生的平均分
2.4增、删、改
-
增加键值对;
-
修改键对应的值;
语法:字典[键] = 值
-
删除字典里的键值对
语法1:del 字典[键]
语法2:字典.pop[键]
***注:***字典里键值对同生共死,值删除键也会被删除。
`
2.4增、删、改
-
增加键值对;
-
修改键对应的值;
语法:字典[键] = 值
-
删除字典里的键值对
语法1:del 字典[键]
语法2:字典.pop[键]
***注:***字典里键值对同生共死,值删除键也会被删除。