定义一个字典
字典的数据类型 类似于接口测试中的json格式数据。由key: value 这样的键值对组成。
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"]
}
print(user, type(user))
执行结果
{'name': 'zhangsan', 'age': 20, 'friends': ['lisi', 'wangwu']} <class 'dict'>
需要注意的是: 字典中的key 是没有重复,如果重复,也会自动去重,后面的会将前面的覆盖。
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"],
"age": 22 # 会将上面的覆盖掉。
}
print(user, type(user))
访问字典中的值🎈
可以通过 [key] 的方式来访问字典中对应的值。
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"],
"isgood": False
}
# 获取 name的值
print(user["name"]) # zhangsan
# 获取 age 的值
print(user["age"]) # 20
# 访问 第二个朋友的姓名
print(user["friends"][1]) # wangwu
但是这种方式有个弊端。 如果 key 不存在,程序会报错
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"],
"isgood": False
}
# 访问 sex (没有 sex)
print(user["sex"])
get 获取key
为了防止访问的时候没有对应的key 报keyError
错误。 可以通过get方法
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"],
"isgood": False
}
print(user.get("name")) # zhangsan user["name"] 效果是一样的
print(user.get("friends")[1]) # wangwu user["friends"][1]
# 下面大家注意
print(user.get("sex")) # None 没有 sex 会返回None 程序不报错, 跟 user["sex"] 不一样
在写代码的时候, [] 和 get 方式都可以访问key ,但是为了更加保险,一般都是用get() 来获取,因为这样即便key值没有 程序也不会报错。不会影响别的代码。
更改或添加字典中的值
直接通过 =
赋值的方式即可。
user = {
"name":"zhangsan",
"age": 20,
"friends": ["lisi","wangwu"],
"isgood": False
}
user["age"] = 22
print(user) # {'name': 'zhangsan', 'age': 22, 'friends': ['lisi', 'wangwu'], 'isgood': False}
# 添加sex
user["sex"] = "男"
print(user) # {'name': 'zhangsan', 'age': 22, 'friends': ['lisi', 'wangwu'], 'isgood': False, 'sex': '男'}
数字也可以作为字典的key
num = {
0: "a",
1: "b",
3: "d"
}
print(num) # {0: 'a', 1: 'b', 3: 'd'}
num[2] = "c"
print(num) # {0: 'a', 1: 'b', 3: 'd', 2: 'c'}