本文共 1741 字,大约阅读时间需要 5 分钟。
字典是Python中用来存储键值对的一种数据结构,通过键可以快速找到对应的值。它支持增删改查,并且可以用于嵌套存储复杂数据。
字典用大括号 {} 表示,键值对的形式为 key: value。例如:
d = {"北京": "首都", "sylar": "邱彦涛", "强强": "张强强"} 键可以是任意可哈希的类型(如字符串、整数),但不能是不可变的对象。字典不支持切片操作。
可以通过 dict[key] = value 来添加或修改键值对。如果键已存在,会执行修改操作;如果不存在,则创建新的键值对。例如:
d = {}d["jay"] = "周杰伦" # 创建新键d["jay"] = "王力宏" # 修改键值 使用 setdefault() 方法可以设置默认值:
d.setdefault("李嘉诚") # 设置默认值为 Noned.setdefault("李嘉诚", "房地产") # 设置默认值为 "房地产" pop(key):按键值删除并返回对应的值。如果键不存在,会抛出 KeyError。d = {"朱高炽": None, "朱元璋": "和尚", "诸葛亮": '不是个和尚'}ret = d.pop("朱棣") # 返回 Nonedel d[key]:按键删除,不返回值。clear():清空字典。popitem():随机删除一个键值对,返回元组。可以用 a, b = d.popitem() 解构。d = {"朱高炽": None, "朱元璋": "和尚", "诸葛亮": '不是个和尚'}ret = d.popitem() # 返回随机键值对可以通过直接赋值或 update() 方法更新字典。例如:
d = {"朱高炽": None, "朱元璋": "和尚", "诸葛亮": '不是个和尚'}d["朱高炽"] = "很胖的一个独眼龙" # 修改键值d.update({"年轻": 18, "张无忌": "赵敏"}) # 更新多个键值 使用 get(key) 方法按键查找,可以指定默认返回值。例如:
d = {"id": 123, "name": 'sylar', "age": 18}print(d.get("name")) # 输出 'sylar'print(d.get("ok")) # 输出 Noneprint(d.get("sylar", "牛B")) # 输出 '牛B' keys():返回所有键的列表。values():返回所有值的列表。items():返回键值对的列表,形式为 (key, value)。d = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"}print(d.keys()) # dict_keys(['id', 'name', 'age', 'ok'])print(d.values()) # dict_values([123, 'sylar', 18, '科比'])print(d.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age', 18), ('ok', '科比')])字典可以嵌套存储复杂数据。例如:
d = { "name": "汪峰", "age": 18, "wife": {"name": '章子怡', "age": 28}, "children": ['第一个毛孩子', '第二个毛孩子'], "desc": '峰哥不会告我吧. 没关系. 我想上头条的'}print(d.get("wife").get("name")) # 输出 '章子怡'print(d.get("children")) # 输出 ['第一个毛孩子', '第二个毛孩子']print(d.get("children")[1]) # 输出 '第二个毛孩子' 字典是处理数据的强大工具,熟练掌握字典的增删改查和嵌套使用,可以大大提升代码的可读性和效率。
转载地址:http://xzlfk.baihongyu.com/