1.字典的定义
# 字典的定义
d0 = {}
d1 = dict
print(type(d0), type(d1))
2.字典的格式
# 字典的格式是 键(key)值(value)对
# 键与值之间使用冒号隔开 多个键值对之间使用逗号隔开
d2 = {
"name": "王思聪",
"age": 20,
"addr": "郑州"
}
print(type(d2))
d3 = {
"name": "姓名",
"age": "年龄",
"addr": "地址"
}
# 字典的键和值
# 值可以是任意数据类型
d4 = {
"key1": 0,
"key2": "ds",
"key3": [1, 2],
"key4": 1.12,
"key5": {
"key5.5": [
1, 2, {
"key5.5.5": "dsf"
}
]
},
"": 12,
"key6": ''
}
print(type(d4), d4)
# 键是不可变类型(大部分都是字符串)
# 五个基本类型都是不可变类型(int, float, str, bool, none)
# 元组是不可变类型,可以作为字典的键
d5 = {
"name": "wang", # str
3.14: "这是PI", # float
100: 100, # int
True: "只是一个布尔值", # bool
False: "这也是一个布尔值", # bool
None: "只是空", # none
(): "元组是不可变类型", # 元组
# []: "列表是可变类型,不可做为字典的键", # 列表
# {}: "字典是可变类型, 不可做为字典的键", # 字典
}
3.字典是可变类型
# 字典是可变类型
# 获取与修改
# 设置
# 字典名[键名] = 值
d6 = {
"name": "zhao",
"age": 20,
"adds": "China"
}
print(d6["name"])
# 字典的赋值会覆盖掉以前的内容,换成新的内容
d6["name"] = "qian"
print(d6["name"])
4.字典的遍历
# 字典的遍历
# 方式一 遍历所有的键
for key in d6.keys():
print(key, d6[key])
# 方式二 遍历所有的值
for value in d6.values():
print(value)
# 方式三 遍历所有的键值对
for item in d6.items():
print(item)
# or
for key, value in d6.items():
print(key, value)
5.字典的操作
5.1 len计算字典个数
# 字典的操作
# len 计算字典的个数
print(len(d6))
5.2in 判断键是不是在字典里面
# in 判断键是不是在字典里面
print("name" in d6)
5.3 获取所有的键,值,键值对
# 所有的键
print(d6.keys())
# 所有的值
print(d6.values())
# 所有的键值对
print(d6.items())
5.4pop 根据键,删除键值对,返回键所对应的值
# pop 根据键,删除键值对,返回键所对应的值
r = d6.pop("name")
print(r, d6, "name" in d6)
5.5删除最后一个写的键值对(Python独有)
# 删除最后一个写的键值对(Python独有)
r = d6.popitem()
print(r, d6)
5.6 清空所有元素
# 清空
d6.clear()
print(d6)
5.7get 取不到返回None取不到,也可返回默认值
# 取不到返回None
d6.get("name")
# 取不到,也可返回默认值
d6.get("name", "li")
5.8 如果键不在字典中,则插入值为 default 的键。如果 key 在字典中,则返回 key 的值,否则为 default。
# 如果键不在字典中,则插入值为 default 的键。如果 key 在字典中,则返回 key 的值,否则为 default。
print(d6.setdefault("name", "li"))
5.9updata将键值对进行更新,如果没有此键值对则增加这个键值对
# 将键值对进行更新,如果没有此键值对则增加这个键值对
print(d6)
d6.update({"age": 25, "sex": "男"})
print(d6)
5.10 dict.fromkeys(keys, value)创造一个新字典,所有的值都是value 键来源于keys列表
# dict.fromkeys(keys, value)创造一个新字典,所有的值都是value 键来源于keys列表
d7 = dict.fromkeys(["key1", "key2", "key3"], 10)
print(d7)