博客
关于我
Python-字典
阅读量:799 次
发布时间: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 字符串显示中文_Python字符串开头的b"、u"、r"与中文乱码
查看>>
Python 字符串的几种拼装方式
查看>>
python 存入数据库bigint_python基础_MySQL的bigint类型
查看>>
python 学习 面向对象编程
查看>>
Python 学习日记第三篇 -- 字典
查看>>
Python 学习笔记(一)Data type
查看>>
python 安装echarts
查看>>
python 安装opencv及问题解决
查看>>
Python 安装程序:“写入文件 C:\Python27\pythonw.exe 时出错“
查看>>
Python 安装避坑指南:从入门到进阶
查看>>
Python 安装配置详解
查看>>
Python 常见的错误类型和继承关系
查看>>
python 常量_零基础学Python系列之一:Python的变量与常量
查看>>
Python 并发编程
查看>>
python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
查看>>
Python 快速下载依赖
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
Python 无法安装包
查看>>