一,字典定义
字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成. 在dict中key是唯⼀的.在保存的时候, 根据key来计算出⼀个内存地址. 然后将key-value保存在这个地址中.这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的key'必须是可hash的,如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址⽽规定的. 已知的可哈希(不可变)的数据类型: int, str, tuple, bool 不可哈希(可变)的数据类型: list, dict, set 语法 : {key1: value1, key2: value2....} 注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据 二,增加1 dic = {} 2 dic['name'] = '周润发' # 如果dict中没有出现这个key, 就会新增⼀个key-value的组 3 合进dict 4 dic['age'] = 18 5 print(dic) 6 # 如果dict中没有出现过这个key-value. 可以通过setdefault设置默认值 7 dic.setdefault('李嘉诚') # 也可以往⾥⾯设置值. 8 dic.setdefault("李嘉诚", "房地产") # 如果dict中已经存在了. 那么setdefault将不会 9 起作⽤ 10 print(dic)
三,删除
1 ret = dic.pop("jay") 2 print(ret) 3 del dic["jay"] 4 print(dic) 5 # 随机删除. 6 ret = dic.popitem() 7 # 清空字典中的所有内容 8 dic.clear()
四,修改
1 dic = {"id": 123, "name": 'sylar', "age": 18} 2 dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"} 3 dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存key, 则新增. 4 print(dic) 5 print(dic1)
五,查询
1 print(dic['name']) 2 # print(dic['sylar']) # 报错 3 print(dic.get("ok")) 4 print(dic.get("sylar")) # None,如果没有的话,返回值会是None 5 print(dic.get("sylar", "⽜B")) # 可以定义返回值,比如⽜B
六,其他操作
1 dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科⽐"} 2 print(dic.keys()) # dict_keys(['id', 'name', 'age', 'ok']) 不⽤管它是什么.当 3 成list来⽤就⾏ 4 for key in dic.keys(): 5 print(key) 6 print(dic.values()) # dict_values([123, 'sylar', 18, '科⽐']) ⼀样. 也当 7 list来⽤ 8 for value in dic.values(): 9 print(value) 10 print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age', 11 18), ('ok', '科⽐')]) 这个东⻄也是list. 只不过list中装的是tuple 12 for key, value in dic.items(): # ?? 这个是解构 13 print(key, value)
标签:name,value,dic,dict,key,print,字典 From: https://www.cnblogs.com/zuishaui/p/17834032.html