接3.2
5.元组中的元素不能改,硬要运行出来代码会报错
十.字典(dict)
1.特点
(1)使用键-值(key-value)存储,查找速度快
(2)key必须使用不可变类型
(3)同一字典中,键必须是唯一的
2.字典的定义
例:info = {"name":"吴彦祖","age":18}
3.字典的访问
(1)一般访问
info = {"name":"吴彦祖","age":18}
print(info["name"])
print(info["age"])
结果:
吴彦祖
18
(2)访问了不存在的键
info = {"name":"吴彦祖","age":18}
#print(info["gender"]) #直接访问会报错
print(info.get("gender"))
print(info.get("gender","m"))
print(info.get("age","20"))
结果:
None
m
18
#直接访问会报错
#使用get方法,
#没有找到对应的键,默认返回:None
#没找到可以设定默认值
#找到了默认值不会生效
4.字典中元素的增加
info = {"name":"吴彦祖","age":18}
newID = input("请输入新的学号:")
info["id"]=newID
print(info["id"])
print(info)
结果:
请输入新的学号:0606
0606
{'name': '吴彦祖', 'age': 18, 'id': '0606'}
5.字典中元素的删除
(1)[del]
[1].删除指定键值对后再次访问会出错
info = {"name":"吴彦祖","age":18}
del info["name"]
print("删除后: %s"%info["name"]) #删除指定键值对后再次访问会出错
[2].删除字典后再访问会报错
info = {"name":"吴彦祖","age":18}
print("删除前: %s"%info)
del info
print("删除后: %s"%info)#删除字典后再访问会报错
(2)[clear]清空
info = {"name":"吴彦祖","age":18}
print("清空前: %s"%info)
info.clear()
print("清空后: %s"%info)
结果:
清空前: {'name': '吴彦祖', 'age': 18}
清空后: {}
4.字典中元素的更改
info = {"name": "吴彦祖", "age": 18}
info["age"]=20
print(info["age"])
结果:20
5.字典中元素的查找
info = {"id":1,"name": "吴彦祖", "age": 18}
print(info.keys()) #得到所有的键(列表)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每个键值对是一个元组
结果:
dict_keys(['id', 'name', 'age'])
dict_values([1, '吴彦祖', 18])
dict_items([('id', 1), ('name', '吴彦祖'), ('age', 18)])
6.
(1)遍历所有的键
info = {"id":1,"name": "吴彦祖", "age": 18}
for key in info.keys():
print(key)
结果:
id
name
age
(2)遍历所有的值
info = {"id":1,"name": "吴彦祖", "age": 18}
for value in info.values():
print(value)
结果:
1
吴彦祖
18