博客
关于我
Python-字典
阅读量:801 次
发布时间: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/

你可能感兴趣的文章
python3 robotframework+pycharm框架搭建
查看>>
Python3 shutil模块
查看>>
Python关于strftime函数详细解析 附实战代码
查看>>
Python3 tutorial day3
查看>>
python3 week4
查看>>
Python3 创建数组
查看>>
python3 套接字异常(a byte-like object is required not str)
查看>>
python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
查看>>
python3 文本变图片
查看>>
Python3 查看 com 组件的属性
查看>>
python3 案例分享--发邮件
查看>>
python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
查看>>
Python3 求最大/小值及索引值 Numpy
查看>>
python3+django使用celery执行某些任务失败的解决方案
查看>>
Python3+Requests+Unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【二】
查看>>
Python3+Requests+Unittest实战系列【二】
查看>>
python3----ASCII
查看>>
Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
查看>>