c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python字典 强大的键值存储容器

更新时间:2023-11-26

什么是Python字典?

Python字典是一种强大的键值存储容器。与其他序列不同,字典中的元素是通过键而不是位置来引用的。因此,它们也被称为关联数组或哈希表。字典由一系列键值对组成,其中每个键都唯一地映射到一个值。

按照字面意思,字典可以看作是一个词汇表,其中每个键都是一个单词,并将其关联到其含义或定义(对应的值)。Python字典使用花括号{}来创建,每个键值对之间用逗号分隔。以下是一个简单的字典示例:


# 创建一个简单的字典
my_dict = {"姓名": "张三", "年龄": 25, "职业": "程序员"}

# 访问键值对
print(my_dict["姓名"])  # 输出 "张三"

# 添加新的键值对
my_dict["城市"] = "北京"

print(my_dict)  # 输出 "{"姓名": "张三", "年龄": 25, "职业": "程序员", "城市": "北京"}"

字典中的键和值

在Python字典中,键和值可以是任何Python对象,包括数字、字符串、元组和列表。但是,键必须是不可变的对象,例如数字、字符串或元组。这是因为字典使用哈希表实现,哈希表只能使用哈希值作为键。Python使用内置的哈希函数来计算不可变对象的哈希值。

以下示例演示如何使用元组和列表作为字典中的值:


# 创建字典
my_dict = {"姓名": "张三", "成绩": (80, 90, 85)}

# 访问键值
print(my_dict["成绩"])  # 输出 "(80, 90, 85)"

# 更新元组中的值
my_dict["成绩"] = (85, 95, 90)

print(my_dict)  # 输出 "{"姓名": "张三", "成绩": (85, 95, 90)}"

操作字典中的键值对

Python字典提供了一组有用的函数和方法来操作它们的键值对。

访问键值对:


my_dict = {"姓名": "张三", "年龄": 25, "职业": "程序员"}

# 访问单个键值对
print(my_dict["姓名"])  # 输出 "张三"

# 访问几个键值对
print(my_dict.get("年龄"))  # 输出 "25"
print(my_dict.get("城市"))  # 输出 "None"

# 访问所有键
print(my_dict.keys())  # 输出 "dict_keys(['姓名', '年龄', '职业'])"

# 访问所有值
print(my_dict.values())  # 输出 "dict_values(['张三', 25, '程序员'])"

# 访问所有键值对
print(my_dict.items())  # 输出 "dict_items([('姓名', '张三'), ('年龄', 25), ('职业', '程序员')])"

添加和删除键值对:


my_dict = {"姓名": "张三", "年龄": 25, "职业": "程序员"}

# 添加新的键值对
my_dict["城市"] = "北京"

print(my_dict)  # 输出 "{"姓名": "张三", "年龄": 25, "职业": "程序员", "城市": "北京"}"

# 更新键值对
my_dict["年龄"] = 26

print(my_dict)  # 输出 "{"姓名": "张三", "年龄": 26, "职业": "程序员", "城市": "北京"}"

# 删除单个键值对
del my_dict["职业"]

print(my_dict)  # 输出 "{"姓名": "张三", "年龄": 26, "城市": "北京"}"

# 删除所有键值对
my_dict.clear()

print(my_dict)  # 输出 "{}"

字典推导式

与Python列表推导式类似,Python字典也提供了一种快速创建字典的方法 - 字典推导式。字典推导式允许使用简洁的语法从任何可迭代对象构建一个字典。


# 创建字典
my_list = [("name", "Alice"), ("age", 25), ("city", "New York")]
my_dict = {k:v for k, v in my_list}

print(my_dict)  # 输出 "{'name': 'Alice', 'age': 25, 'city': 'New York'}

此示例使用元组列表创建一个字典。其中每个元组表示一个键值对,字典推导式将每个元组转换为键值对并插入字典中。

这是关于Python字典的概述。字典在Python编程中起着至关重要的作用,特别是在处理大量数据和配置文件时。希望这篇文章能够帮助您更好地理解Python字典,并发现它的强大功能。