本来是说昨天发的,结果电脑有问题😢,换别人电脑💻发的,太难了呜呜呜
这一篇咱们来讲字典
像 age = 18 或者 age : 18 这种成对出现的数据结构,我们叫做映射(mapping),映射指我们可以用age得到值18。一般将"age"叫做键(key),"18"称为值(value)。整体我们称之为键值对。
在Python中保存这种键值对格式的数据的一种类型叫做字典dict。📔
格式:
user_info = {"name" : "hanhan", "age" : 50, "hobby" : ["抽烟", "喝酒", "烫头"]}
字典的key不能是可修改数据类型,例如列表就不能当字典的key。value可以是任意数据类型。
增删改查
增加操作
方法 | 描述 |
变量名[key] = value | 通过key添加value值,如果key存在则覆盖 |
setdefault(key, default_value) | 如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None |
user_info = {"name" : "hanhan"}
user_info["name"] = "cxk"
print(user_info)
# {'name': 'cxk'}
user_info.setdefault("age", 29)
print(user_info)
# {'name': 'cxk', 'age': 29}
user_info.setdefault("school")
print(user_info)
# {'name': 'cxk', 'age': 29, 'school': None}
删除操作
方法 | 描述 |
pop | 弹出,返回并删除指定键对应的值 |
popitem | 随机弹出一个键值元组 |
clear | 清空字典 |
popitem 随机的原因是因为字典无序
修改操作
方法 | 描述 |
变量名[key] = value | 通过key添加value值,如果key存在则覆盖 |
update | 传递一个字典,如果key相同则覆盖,没有的key则创建 |
user_info = {"name" : "hanhan", "age" : 19}
user_info1 = {"name" : "libai", "weight" : 300}
user_info.update(user_info1)
print(user_info)
# {'name': 'libai', 'age': 19, 'weight': 300}
查找操作
方法 | 描述 |
keys | 返回一个包含字典所有key的列表 |
values | 返回一个包含字典所有value的列表 |
get | 以键取值,如果指定键不存在,默认返回None,可以指定返回内容 |
items | 返回字典键值呈元组形式 |
len | 测量字典,键值对的个数(整体) |
info = {"name" : "hanhan", "age" : 10, "height": 1.78}
name = info["name"]
print(name) # hanhan
name1 = info.get("name")
print(name1) # hanhan
name2 = info.get("aa", "default")
print(name2) # default
keys = info.keys()
print(keys) # dict_keys(['name', 'age', 'height'])
values = info.values()
print(values) # dict_values(['hanhan', 10, 1.78])
items = info.items()
print(items) # dict_items([('name', 'hanhan'), ('age', 10), ('height', 1.78)])
print(len(info)) # 3
我们可以用for…in… 来遍历字典,也可以用not in/ in 来判断指定键是否在字典中。
info = {"name" : "hanhan", "age" : 10, "height": 1.78}
if "name" in info:
print("name in")
else:
print("name not in")
# "name in"
if "age" not in info:
print("age not in")
else:
print("age in")
# "age in"
##################################
#遍历
# 获取所有的key
for key in info:
print(key)
for key in info.keys():
print(key)
# 上面两个结果一样
# name
# age
# height
# 获取所有的value
for value in info.values():
print(value)
# hanhan
# 10
# 1.78
for item in info.items():
print(item)
# ('name', 'hanhan')
# ('age', 10)
# ('height', 1.78)
for k, v in info.items():
print(k, v)
# name hanhan
# age 10
# height 1.78
我们可以通过dict() 来创建一个空字典、或者通过列表+元组的形式或者元组+元组的形式创建一个字典,或者通过关键字来创建一个字典。
dict1 = dict()
print(dict1)
# {}
dict2 = dict({"name" : "han", "age" : 19})
print(dict2)
# {'name': 'han', 'age': 19}
dict3 = dict([("name", "han"), ("age", 19)])
print(dict3)
# {'name': 'han', 'age': 19}
dict4 = dict(name = "han", age = 16)
print(dict4)
# {'name': 'han', 'age': 19}
字典这一章的知识比较干,没什么好说的,还是多敲代码,记住才行。
感谢支持,您的支持就是我的动力💕