一、字典结构
{key:valu}
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据。
dic = {123: 456, True: 999, "id": 1, "name": 'sylar', "age": 18, "stu": ['帅 哥', '美⼥女女'], (1, 2, 3): '麻花藤'} print(dic[123]) print(dic[True]) print(dic['id']) print(dic['stu']) print(dic[(1, 2, 3)]) # 不不合法 # dic = {[1, 2, 3]: '周杰伦'} # list是可变的. 不不能作为key # dic = {{1: 2}: "哈哈哈"} # dict是可变的. 不不能作为key dic = {{1, 2, 3}: '呵呵呵'} # set是可变的, 不不能作为key
二、字典的操作
1.增
dic = {} dic['name'] = '周润发' # 如果dict中没有出现这个key, 就会新增一个key-value的组 合进dict dic['age'] = 18 print(dic) # 如果dict中没有出现过这个key-value. 可以通过setdefault设置默认值 dic.setdefault('李嘉诚') # 也可以往⾥里里⾯面设置值. dic.setdefault("李嘉诚", "房地产") # 如果dict中已经存在了了. 那么setdefault将不会起作用 print(dic)
2.删
ret = dic.pop("jay") print(ret) del dic["jay"] print(dic) # 随机删除. ret = dic.popitem() # 清空字典中的所有内容 dic.clear()
3.改
dic = {"id": 123, "name": 'sylar', "age": 18} dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"} dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增. print(dic) print(dic1)
4.其他操作
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) print(dic.values()) # dict_values([123, 'sylar', 18, '科⽐比']) ⼀一样. 也当 list来⽤用 for value in dic.values(): print(value) print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科⽐比')]) 这个东⻄西也是list. 只不过list中装的是tuple 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)