关于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数据、属性集合等场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌叁儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值