Python 字典(Dictionary)

Python 字典(Dictionary)

引言

Python 字典(Dictionary)是一种非常有用的内置数据类型,用于存储键值对。它是一种无序的集合,其中每个键都映射到一个值。由于字典的键是唯一的,因此它们用于存储和检索数据非常高效。在本文中,我们将深入探讨 Python 字典的概念、用法和操作。

字典的基本概念

字典是 Python 中的一种基本数据结构,用于存储键值对。每个键值对由一个键(Key)和一个值(Value)组成。键是唯一的,而值可以是任何数据类型,包括数字、字符串、列表等。字典使用大括号 {} 来定义,键值对之间用冒号 : 分隔,不同的键值对之间用逗号 , 分隔。

字典的创建

创建字典非常简单,只需要将键值对放入大括号中即可。例如:

my_dict = {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}

在这个例子中,'name''age''email' 是键,而 'Alice'25'alice@example.com' 是对应的值。

访问字典中的值

要访问字典中的值,可以使用键来获取。例如:

name = my_dict['name']
print(name)  # 输出:Alice

如果尝试访问一个不存在的键,将会引发一个 KeyError 异常。为了避免这种情况,可以使用 get() 方法,它将返回 None 或指定的默认值,如果键不存在。

age = my_dict.get('age', 30)
print(age)  # 输出:25

gender = my_dict.get('gender', 'Unknown')
print(gender)  # 输出:Unknown

修改字典

字典是可变的,意味着可以修改它们的内容。可以添加新的键值对、修改现有的键值对或删除键值对。

添加键值对

要添加新的键值对,可以直接使用键来赋值。

my_dict['city'] = 'New York'
print(my_dict)  # 输出:{'name': 'Alice', 'age': 25, 'email': 'alice@example.com', 'city': 'New York'}
修改键值对

要修改现有的键值对,只需重新赋值给键。

my_dict['age'] = 26
print(my_dict)  # 输出:{'name': 'Alice', 'age': 26, 'email': 'alice@example.com', 'city': 'New York'}
删除键值对

可以使用 del 关键字来删除键值对。

del my_dict['email']
print(my_dict)  # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}

字典的遍历

可以使用 for 循环来遍历字典中的键值对。有两种常见的方法:

遍历键
for key in my_dict:
    print(f"{key}: {my_dict[key]}")
遍历键值对
for key, value in my_dict.items():
    print(f"{key}: {value}")

字典的方法

Python 提供了许多内置方法来操作字典,例如 keys()values()items() 等。这些方法非常有用,可以帮助我们更有效地处理字典。

keys() 方法

keys() 方法返回字典中的所有键。

keys = my_dict.keys()
print(keys)  # 输出:dict_keys(['name', 'age', 'city'])
values() 方法

values() 方法返回字典中的所有值。

values = my_dict.values()
print(values)  # 输出:dict_values(['Alice', 26, 'New York'])
items() 方法

items() 方法返回字典中的所有键值对,每个键值对都是一个元组。

items = my_dict.items()
print(items)  # 输出:dict_items([('name', 'Alice'), ('age', 26), ('city', 'New York')])

字典的排序

字典本身是无序的,但可以使用 sorted() 函数对字典进行排序。可以按键或值进行排序。

按键排序

sorted_dict = dict(sorted(my_dict.items()))
print(sorted_dict)  # 输出:{'age': 26, 'city': 'New York', 'name': 'Alice'}

按值排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值