字典(dictionary、map)
9.1字典的定义{}
字典同样可以用来 储存多个数据;通常用于储存 描述一个 物体(对象) 相关信息
字典和列表的区别:列表是有序的,字典是无序的
键值对:
名字(键,key):张三(值,value)
年龄(键,key):18(值,value)
注意:键必须是唯一的
9.2定义
zsf_dic = {
"name":"张三丰",
"age":108,
"love":["小姐姐","灭绝师太"],
"dog":{
"name":"小黑",
"type":"藏獒",
"age":5
}
}
##(1)查看字典的长度:有 几对 键值对
print(len(zsf_dic)) ##4
##(2)取值
##(2)取出张三丰名字
name = zsf_dic['name']
print("名字:%s"%name)
##取出 张三丰 狗
dog = zsf_dic['dog']
##取出狗的名字
print(dog["name"])
print(zsf_dic['dog']["name"])
##(3)添加和修改
#如果修改的键存在 则是 修改,替换原有的值
zsf_dic["name"] = "奥利给"
print(zsf_dic)
##修改的键 不存在, 则是 添加,添加一对键值对
zsf_dic["name22"] = "奥利给"
print(zsf_dic)
##(4)删除,通过键来删除
zsf_dic.pop("name22")
print(zsf_dic)
##删除指定键 不存在的时候,会报错
#zsf_dic.pop("age22")
##(5)字典合并
a = {
"name":"zsf",
"age":18
}
b = {
"score":100,
"height":180,
"age":19
}
##字典合并
##将b字段的所有键值对 添加 到a中,如果有重复的键,会使用b的值
a.update(b)
print("******** a *******")
print(a)
print("******** b *******")
print(b)
##(5)字典清除
b.clear()
print(b) #{}
##(6)字典遍历
zsf_dic = {
"name":"张三丰",
"age":108,
"love":["小姐姐","灭绝师太"],
"dog":{
"name":"小黑",
"type":"藏獒",
"age":5
}
}
for k in zsf_dic: #每次循环中 变量k,是对应键的值
print("%s -> %s "%(k,zsf_dic[k]))
##(7)字典最常用的使用
##商品管理系统:商品(sku,名字,价格,品牌)
productList = [{
"sku":1,
"name":"iphone 12 pro max",
"price":12999,
"brand":"苹果"
},{
"sku":2,
"name":"mate 40",
"price":7999,
"brand":"华为"
},{
"sku":3,
"name":"vivo r9",
"price":3999,
"brand":"vivo"
}]
print(productList)
productList.append({
"sku": 4,
"name": "oppo r9",
"price": 2999,
"brand": "oppo"
})
print(productList)