一、字典
1.字典的结构:
a={key:value,key2:value},key是不可变的,value是可变的。
例子:dic = {123: 456, True: 999, "id": 1, "name": 'sylar', "age": 18, "stu": ['帅 哥', '美⼥女女'], (1, 2, 3): '麻花藤'}
提示:dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. ⽽而hash表 不是连续的. 所以不能进⾏行行切片⼯工作. 它只能通过key来获取dict中的数据 。
二、字典的操作
1.增:
dic={}
dic["妈妈"]="麻麻" # 如果dict中没有出现这个key, 就会新增⼀一个key-value的组 合进dict
dic.setdefault("name","alan")
2.删
dic.pop("妈妈")
del dic["妈妈"]
#随机删除
dic.popitem()
#清空字典
dic.clear()
3.修改
dic={"马化腾":"qq","马云":"阿里巴巴"}
dic1={"马化腾":"微信","马云":"支付宝","雷军":"小米"} # 把dic1中的内容更更新到dic中. 如果key重名. 则修改替换. 如果不不存 在key, 则新增.
4.查
dic["马化腾"]#输入key
dic.get("马化腾")
三、字典的其他操作
dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科⽐比"}
print(dic.keys()) # dict_keys(['id', 'name', 'age', 'ok']) 不⽤管它是什么.当成list来⽤用就⾏。
for key in dic.keys():
print(key)
for value in dic.values():
print(value)
print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age', 18), ('ok', '科⽐比')]) 这个东⻄西也是list. 只不不过list中装的是tupl
for key, value in dic.items(): # ?? 这个是解构
print(key, value)
a, b = 1, 2# 解构
print(a, b)
(c, d) = 3, 4
print(c, d)
e, f = [1, 2, 3] # 解构的时候注意数量必须匹配
print(e, f)
四、字典的嵌套
dic1 = { "name": "汪峰", "age": 18, "wife": { "name": '章子怡', "age": 28 }, "children": ['第⼀个毛孩子', '第⼆个毛孩子'], "desc": '峰哥不会告我吧. 没关系. 我想上头条的' }
print(dic1.get("wife").get("name"))
print(dic1.get("children"))
print(dic1.get("children")[1])