字典 dict 特点:无序、键唯一
字典嵌套字典
dic = {"大学":{"中文系":"汉语语言文学","计算机系":"Python语言"},"高中":{"理科班":"物理","文科班":"历史"}}
print(dic)#{'大学': {'中文系': '汉语语言文学', '计算机系': 'Python语言'}, '高中': {'理科班': '物理', '文科班': '历史'}}
字典创建
dic = {"name":"张三"} #常用形式
print(dic)#{'name': '张三'}
dic_2 = {} #常用形式
print(dic)#{}
dic_2 = dict([["name","alex"],])
print(dic,type(dic))#{'name': 'alex'} dict
增加
# 1.键存在,不改动,返回字典中相应的键对应的值
dic_add = {"name":"Joker","age":"18"}
add_age = dic_add.setdefault("age",19)
print(dic_add) # 18
print(dic_add) #{'name': 'Joker', 'age': '18'}
add_sex = dic_add.setdefault("sex","male")
print(add_sex) # male
print(dic_add) # {'name': 'Joker', 'age': '18', 'sex': 'male'}
删除
#1.清空字段
delete_clear = {"name":"Joker","age":"18"}
delete_clear.clear() #{}
print(delete_clear)
#2.删除指定键值对
delete_key = {"name":"Joker","age":"18"}
del delete_key["name"]
print(delete_key)
#3.删除字典中指定键值对,并返回该键值对的值
delete_key_return = {"name":"Joker","age":"18"}
delete_pop = delete_key_return.pop("age")
print(delete_pop)
print(delete_key_return)
#4.随机删除某组键值对,并以元组方式返回值
delete_dict = {"name":"Joker","age":"18"}
delete_popitem = delete_dict.popitem()
print(delete_popitem)
#5.删除整个字典
delete_dict = {"name":"Joker","age":"18"}
del dic
fromkeys() 多个key赋值同一组value
fromkey_dict = dict.fromkeys(["host","host_0","host_1"],"test")
print(fromkey_dict) #{'host': 'test', 'host_0': 'test', 'host_1': 'test'} 可以同时赋值多个value eg:(["host","host_0","host_1"],["test","test2"])
#修改某一个key值
fromkey_dict["host_1"] = "update"
print(fromkey_dict) #{'host': 'test', 'host_0': 'test', 'host_1': 'update'}
字典+列表组合
school_dic = {
"小学":{"一年级":{"一班":["一年级一班学生A","一年级一班小学生B","一年级一班小学生C"]},
"二年级":{"一班":["二年级一班学生A","二年级一班学生B","二年级一班学生C"]},
},
"中学":{"初一年级":{"一班":["初一一班学生A","初一班小学生B","初一班小学生C"]},
"初二年级":{"一班":["初二一班学生A","初二一班学生B","初二一班学生C"]},},
}
#修改中学初二年级一班学生C信息为"初二一班学生D"
school_dic["中学"]["初二年级"]["一班"][2] = "初二一班学生D"
print(school_dic)
判断key是否存在
boolean_dic = {5:"555",2:"666",4:"444"}
print(5 in boolean_dic) #True
对字典进行排序,并输出List类型,元素为元组类型
boolean_dic = {5:"555",2:"666",4:"444"}
print(sorted(boolean_dic.items()))#[(2, '666'), (4, '444'), (5, '555')]