博客
关于我
Python-字典
阅读量:796 次
发布时间:2023-03-08

本文共 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("朱棣")  # 返回 None
  • del 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/

你可能感兴趣的文章
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>
Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
查看>>
Python 操作 JMeter 探索:pymeter 实操指南
查看>>
Python 操作 Redis
查看>>
Python 操作Mysql(PyMysql)
查看>>
Python 操作Redis
查看>>
Python 操作sqlite数据库及保存查询numpy类型数据(一)
查看>>
Python 操作sqlite数据库及保存查询numpy类型数据(二)
查看>>
Python 数据文件与网络数据序列化存储详解
查看>>
Python 数据结构与算法详解
查看>>
Python 数据采集、清洗、整理、分析以及可视化实战
查看>>
Python 数据预处理
查看>>
Python 无法安装包
查看>>
python 日历小部件 - 返回用户选择的日期
查看>>
Python 日志管理封装
查看>>
python 时间函数小总结
查看>>
Python 是否优化尾递归?
查看>>
Python 更新set
查看>>