python day05字典

时间:2021-11-26 19:54:45

一、字典

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])