Python字典
字典 dict
1. 定义:用 {} 定义
字典是一种以 键值对 的形式存储数据的数据类型。
格式:dic = {key1:value1, key2:value2}
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
2. 特点
(1)字典的key必须是可哈希的数据类型
(2)字典的value可以使任意数据类型
3. 数据操作
(1) 数据索引
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
print(dic["jay"]) # 类似于列表
#结果:
周杰伦
(2) 数据增删改查
a.数据按顺序增加
dic = dict()
dic["jay"] = "周杰伦"
dic["金毛狮王"] = "谢逊"
print(dic)
#结果:
{"jay":"周杰伦", "金毛狮王":"谢逊"}
b.数据的删除
pop(key)删除指定的键值对
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
dic.pop("jay")
print(dic)
#结果:
{"金毛狮王":"谢逊"}
clear()删除所有的键值对
c.数据的修改
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
dic["jay"] = "昆凌" # 直接覆盖原数据
print(dic)
#结果:
{"jay":"昆凌", "金毛狮王":"谢逊"}
d.数据的查找
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
print(dic["jay"]) # 如果原字典中没有对应的数据,程序报错
print(dic.get["jay"]) # 如果原字典中没有对应的数据,程序返回None
注:None 为 python中的一个数据类型"NoneType",对其无法进行任何操作
(3) 字典循环和嵌套
1. 字典的循环
a.从字典中直接提取出key或value
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
for key in dic: # 默认就是从字典dic中提取key
print(key)
for value in dic: # 默认就是从字典dic中提取value
print(value)
b.把key保存在一个列表中
# keys() 以元组的形式输出字典的keys
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
print(list(dic.keys()))
c.value保存在一个列表中
# values() 以元组的形式输出字典的values
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
print(list(dic.values()))
d.****从字典中直接提取出key和value****
# items() 以元组的形式输出字典的键值对
dic = {"jay":"周杰伦", "金毛狮王":"谢逊"}
for key,value in dic.items():
print(key, value)
注:元组或者列表的解包或解构
a,b = (1,2)
print(a,b)
#结果
1 2
2. 字典的嵌套
wangfeng = {"name":"汪峰"
"age":"18"
"wife":{"name":"章子怡"
"age":"18"
"work":{
"work1":"演员"
"work2":"歌手"
}
}
"children":[
{"name":"孩子1", "age":"10"}
{"name":"孩子2", "age":"5"}
{"name":"孩子3", "age":"2"}
]
}
print(wangfeng["wife"]["work"]["work1"])
wangfeng["children"][1]["age"] = wangfeng["children"][1]["age"] + 1
print(wangfeng["children"][1]["age"])
#结果
演员
11