找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1009

积分

0

好友

131

主题
发表于 4 天前 | 查看: 8| 回复: 0

Python字典是一种可变容器模型,能够存储任意类型的对象。与列表或元组不同,字典中的元素以键值对(key-value)的形式组织,并且是无序的,因此不支持索引和切片操作。

字典的定义

1. 基本格式

字典通过花括号 {} 定义,内部元素为键值对,格式为:字典名 = {key1: value1, key2: value2, ...}

my_dict = {"name": "张三", "age": 20, "sex": "男"}
2. 空字典

创建空字典有两种方式:

dict1 = {}
dict2 = dict()

关键点

  • 键(key)必须是唯一的,不可重复。如果重复,后出现的键值对会覆盖先前的。
  • 值(value)可以重复,可以是任何数据类型。
  • 键必须是不可变的数据类型(如字符串、数字、元组),常用字符串作为键。

字典的基本操作(增删改查)

掌握字典的增删改查是进行Python编程的基础。

1. 增加元素

通过为新的键赋值来添加元素。

my_dict = {"name": "张三", "age": 20}
my_dict["score"] = 100  # 增加新的键值对
print(my_dict)  # 输出:{'name': '张三', 'age': 20, 'score': 100}
2. 删除元素

使用 del 语句通过键来删除指定的键值对。

del my_dict["name"]
print(my_dict)  # 输出:{'age': 20, 'score': 100}

使用 clear() 方法可以清空整个字典。

my_dict.clear()
print(my_dict)  # 输出:{}
3. 查找元素

通过键直接访问对应的值。

my_dict = {"name": "张三", "age": 20}
value = my_dict["age"]
print(value)  # 输出:20
4. 修改元素

通过为已存在的键重新赋值来修改对应的值。

my_dict["name"] = "李四"
print(my_dict)  # 输出:{'name': '李四', 'age': 20}

字典的常用方法

Python字典内置了许多实用的方法:

  • len(dict):返回字典中键值对的数量。
  • dict.keys():返回一个包含所有键的视图对象。
  • dict.values():返回一个包含所有值的视图对象。
  • dict.items():返回一个包含所有(键,值)元组的视图对象。
  • in / not in:判断键或值是否存在于字典中。
my_dict = {"name": "张三", "age": 20, "sex": "男"}
print(len(my_dict))            # 输出:3
print(list(my_dict.keys()))    # 输出:['name', 'age', 'sex']
print(list(my_dict.values()))  # 输出:['张三', 20, ‘男’]
print(list(my_dict.items()))   # 输出:[('name', '张三'), ('age', 20), ('sex', ‘男’)]

if 20 in my_dict.values():
    print(“值20存在”)

三种主要的取值方式

除了直接通过键索引,还有更安全灵活的取值方法。

1. 直接索引 dict[key]

最直接的方式,但如果键不存在会引发KeyError。

value = my_dict["age"]
2. get(key[, default]) 方法

安全取值方法。如果键存在,返回其值;如果不存在,则返回指定的默认值(默认为None),且不会修改原字典。

print(my_dict.get(“name”))       # 输出:’张三‘
print(my_dict.get(“address”, “北京”)) # 键不存在,返回’北京‘
print(my_dict) # 原字典不变
3. setdefault(key[, default]) 方法

兼具取值和新增的功能。如果键存在,返回其值;如果不存在,则将该键及其默认值插入字典,并返回默认值。

print(my_dict.setdefault(“name”, “佚名”)) # 键存在,返回’张三‘,字典不变
print(my_dict.setdefault(“address”, “上海”)) # 键不存在,插入{’address‘: ’上海‘},并返回’上海‘
print(my_dict) # 字典已被修改

字典的遍历技巧

遍历字典是数据处理中的常见操作,有多种方式。

my_dict = {"name": "小红", "age": 20, "sex": "女"}
1. 遍历所有的键
for key in my_dict.keys():
    print(key)
2. 遍历所有的值
for value in my_dict.values():
    print(value)
3. 遍历所有的键值对(返回元组)
for item in my_dict.items():
    print(item)  # 输出如:('name', '小红')
4. 同时遍历键和值(推荐)

通过解包直接获取键和值,这是最常用和清晰的遍历方式。

for key, value in my_dict.items():
    print(f”{key}: {value}”)
5. 遍历时获取索引

使用 enumerate() 函数可以在遍历键的同时获取序号。


for index, key in enumerate(my_dict):
    print(index, key)



上一篇:Go语言实战:使用net/http包快速构建HTTP服务器并解决80端口权限问题
下一篇:DDD实战:在复杂电商业务中划清系统边界的4个关键步骤
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 20:12 , Processed in 0.107243 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表