字典是一个可变容器模型,且可以存储任意类型对象。
使用键-值(key-value)存储,每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中,格式如下:
d = {key1 : value1, key2 : value2 }
直接通过方括号访问键所对应的值
实例:
dict_score = {"小红": 99, "小黄": 98, "小明": 100, "小丽": 90} print("原成绩字典:", dict_score) print("小黄的成绩:", dict_score["小黄"]) # 打印小黄的成绩
结果:
当访问的key不存在时,直接访问会报错,可以通过以下方式避免
方法1:通过 in 判断字典中是否存在key
方法2:通过get方法,如果key不存在,返回None,也可以自定义返回的信息
实例:
dict_score = {"小红": 99, "小黄": 98, "小明": 100, "小丽": 90} print("原成绩字典:", dict_score) # 当key不存在时 # 方法1 通过in判断字典是否存在键值对 if "小花" in dict_score: print("小花的成绩:", dict_score["小花"]) else: print("没有小花的成绩") # 方法2 通过get判断,不存在,默认返回None,也可以自定义返回的信息 print(dict_score.get("小米", "没有小米的成绩"))
结果:
将需要修改的键重新赋值
实例:
dict_score = {"小红": 99, "小黄": 98, "小明": 100, "小丽": 90} dict_score["小丽"] = 99 # 修改小丽的成绩 print("修改小丽成绩后的字典:", dict_score)
结果:
直接增加键值对
实例:
dict_score = {"小红": 99, "小黄": 98, "小明": 100, "小丽": 90} print("原成绩字典:", dict_score) dict_score["小强"] = 95 # 新增小强的成绩 print("新增成绩后的字典:", dict_score)
结果:
可以删除某个键值对或者清空字典
实例:
dict_score = {"小红": 99, "小黄": 98, "小明": 100, "小丽": 90} print("原成绩字典:", dict_score) del dict_score["小明"] # 删除小明 print("删除小明成绩后的字典:", dict_score) dict_score.pop("小黄") print("删除小黄成绩后的字典:", dict_score) dict_score.clear() # 清空字典 print("清空字典后:", dict_score) del dict_score # 删除字典
结果:
实例:
dict_age = {"小红": 20, "小橙": 18, "小黄": 22, "小绿": 19, "小青": 16} dict_age2 = {"小蓝": 20, "小紫": 21} print("原字典:", str(dict_age)) print("字典长度:", len(dict_age)) # 返回指定key的值 print(dict_age.get("小溪", "没有小溪")) print("小黄:%s" % dict_age.get("小黄")) dict_age.setdefault("小小", 17) print("键不存在,添加后的字典:", dict_age) # 浅复制 dict_age_copy = dict.copy(dict_age) print("浅复制后的字典:", dict_age_copy) # 以列表返回可遍历的(键, 值) 元组数组 itmes_age = dict_age.items() print("字典列表:%s" % str(itmes_age)) # 遍历字典列表 for key, values in itmes_age: print(key, values) # 以列表返回一个字典所有的键 keys_age = dict_age.keys() print("返回所有的键:% s" % keys_age) # 以列表返回字典中的所有值 values_age = dict_age.values() print("返回所有的值: % s" % values_age) # 更新字典 dict_age.update(dict_age2) print("更新后的字典:", dict_age) # 返回并删除字典中最后一对键和值 dict_age.popitem() print("删除最后一对键值后的字典:", dict_age) # 删除或清空字典 dict_age.pop("小红") print("删除小红后的字典:", dict_age) dict_age.clear() print("清空字典后:", dict_age) # 创建新的字典 subject = (‘java‘, ‘python‘, ‘javascript‘) dict_sub = dict.fromkeys(subject) print("学科新字典1 %s" % str(dict_sub)) dict_sub = dict.fromkeys(subject, 20) print("学科新字典2 %s" % str(dict_sub))
结果:
原文:https://www.cnblogs.com/rissa/p/14892619.html