当前位置: 首页 > news >正文

关于python字典的所有操作

一、字典简介

字典(Dictionary)是Python中一种无序(Python 3.7+开始变为有序)、可变的数据结构,用{}表示。它通过键值对(key-value pairs)存储数据,具有极快的查找速度。

特点:

  • 键(key)必须是不可变类型(字符串/数字/元组)

  • 值(value)可以是任意类型

  • 键具有唯一性(重复键会覆盖)

二、创建字典

# 方法1:直接创建
person = {"name": "Alice", "age": 25, "is_student": False}
# 方法2:使用dict构造函数
scores = dict(math=90, physics=85)
# 方法3:字典推导式
square_dict = {x: x**2 for x in range(5)}  # {0:0, 1:1, 2:4, 3:9, 4:16}
# 空字典
empty_dict = {}

三、访问元素

# 通过键访问
print(person["name"])  # 输出:Alice
# get()方法(推荐,避免KeyError)
print(person.get("age"))     # 25
print(person.get("email"))   # None
print(person.get("email", "N/A"))  # 返回默认值"N/A"

四、修改与添加

# 修改现有键的值
person["age"] = 26
# 添加新键值对
person["email"] = "alice@example.com"
# 批量更新 update()
person.update({"city": "Beijing", "age": 27})

五、删除元素

# del语句
del person["is_student"]
# pop() 删除并返回值
email = person.pop("email")
# popitem() 删除最后插入的项(Python 3.7+)
key, value = person.popitem()
# 清空字典
person.clear()

六、常用方法

方法描述示例
keys()返回所有键person.keys() → dict_keys(['name', 'age'])
values()返回所有值person.values() → dict_values(['Alice', 25])
items()返回所有键值对person.items() → dict_items([('name', 'Alice'), ...])
setdefault()安全设置默认值person.setdefault('country', 'China')

七、遍历字典

# 遍历键
for key in person:
    print(key)
# 遍历键值对
for key, value in person.items():
    print(f"{key}: {value}")
# 遍历值
for value in person.values():
    print(value)

八、嵌套字典

employees = {
    "emp_001": {
        "name": "Bob",
        "skills": ["Python", "SQL"]
    },
    "emp_002": {
        "name": "Charlie",
        "salary": 8000
    }
}
# 访问嵌套数据
print(employees["emp_001"]["skills"][0])  # 输出:Python

九、实用技巧

  1. 合并字典(Python 3.9+)
dict1 = {"a": 1}
dict2 = {"b": 2}
merged = dict1 | dict2  # {'a':1, 'b':2}

  1. 快速统计频率
text = "apple banana apple orange"
words = text.split()
counter = {}
for word in words:
    counter[word] = counter.get(word, 0) + 1
# {'apple':2, 'banana':1, 'orange':1}

  1. 字典视图对象
keys_view = person.keys()
person["new_key"] = "value"  # 视图对象会同步更新

十、注意事项

  1. 避免用可变对象作为键

  2. 使用in检查键是否存在:if "age" in person:

  3. 字典推导式比循环更高效

  4. 浅拷贝使用copy()方法,深拷贝需要import copy


通过掌握这些基础操作,您已经可以高效地使用字典处理各种数据存储和快速查找需求。字典非常适合存储需要键值关联的数据,如配置信息、JSON数据、属性集合等场景。

相关文章:

  • 性能优化-Spring参数配置、数据库连接参数配置、JVM调优
  • 行锁(Row Locking)和MVCC(多版本并发控制)
  • 空地机器人在复杂动态环境下,如何高效自主导航?
  • ABAP:ME22N控制是否可修改-物料
  • 新晋前端框架技术:小程序容器与SuperApp构建
  • 多模态大语言模型arxiv论文略读(十九)
  • 用 Python 从零构建异步回显服务器
  • OceanBase4.0社区版 单机快速部署
  • clickhosue中json字符串转为表
  • JavaScript UI 组件DHTMLX:如何进行集成 DHTMLX 预订和调度程序的前端设置
  • 六、文件操作
  • MYSQL MVCC详解
  • Python 二分查找(bisect):排序数据的高效检索
  • 四层 PCB 在工业控制设备中的叠层设计要点
  • React 把一系列 state 更新加入队列
  • 如何看电脑的具体配置?
  • 网络7 配置网卡 路由表
  • 深入解析UML图:版本演变、静态图与动态图详解
  • ctfshow做题笔记—栈溢出—pwn75~pwn79
  • 手动关闭ArcGIS与ArcGIS Online连接的方法
  • 广西:启动旱灾防御三级应急响应
  • 三一重工去年净利增逾三成至59.75亿,拟分红超30亿元
  • 直播电商监管新规将公开征求意见,出重拳净化行业生态
  • 王健林出售酒店管理业务的资金如获批,可用于向全体股东分红
  • 多米尼加俱乐部屋顶坍塌事故死亡人数升至232人
  • “月光女神”莎拉·布莱曼来上海,再现好莱坞浮华幻梦