python中的字典(Dictionary)

简介: python中的字典(Dictionary)

python中的字典(Dictionary)

在Python中,字典(Dictionary)是一种键-值对的无序集合,用于存储和查找具有唯一键的元素。字典提供了一个高效的方式来根据键访问和操作值。

特点:

  1. 字典是无序的,其中的元素没有固定的顺序。
  2. 字典中的每个元素由一个键和一个值组成,键和值之间使用冒号 : 分隔。
  3. 键必须是唯一的且不可变的类型(如字符串、整数),值可以是任意类型的对象。
  4. 字典是可变的,可以添加、删除和修改元素。

创建字典:

可以使用花括号 {} 或者使用 dict() 函数来创建一个空字典,或者在花括号内加入键值对来创建带有初始值的字典。以下是几个示例:

empty_dict = {}  # 创建空字典
fruits = {'apple': 1, 'banana': 2, 'orange': 3}  # 创建含有键值对的字典
mixed = {1: 'hello', 'name': 'Alice', True: 3.14}  # 字典包含不同类型的键值对

访问和修改字典元素:

可以通过键来访问字典中的值,使用方括号 [] 运算符并指定键来访问对应的值。可以通过键来修改字典中的值。示例如下:

fruits = {'apple': 1, 'banana': 2, 'orange': 3}
print(fruits['apple'])  # 输出: 1
fruits['banana'] = 10  # 修改'banana'对应的值为10
print(fruits)  # 输出: {'apple': 1, 'banana': 10, 'orange': 3}

如果访问一个不存在的键,会引发 KeyError 错误。可以使用 get() 方法来避免这种情况,该方法返回键对应的值,如果键不存在则返回指定的默认值。

fruits = {'apple': 1, 'banana': 2, 'orange': 3}
print(fruits.get('apple'))  # 输出: 1
print(fruits.get('grape', 0))  # 输出: 0,键'grape'不存在,返回默认值0

常用操作:

字典支持多种常用操作,例如:

  • 添加或修改元素:可以通过指定键和相应的值来添加或修改字典中的元素。
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
fruits['melon'] = 4  # 添加'melon'键和对应的值4
print(fruits)  # 输出: {'apple': 1, 'banana': 2, 'orange': 3, 'melon': 4}
fruits['banana'] = 10  # 修改'banana'对应的值为10
print(fruits)  # 输出: {'apple': 1, 'banana': 10, 'orange': 3, 'melon': 4}
  • 删除元素:可以使用 del 关键字根据键来删除字典中的元素。
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
del fruits['banana']  # 删除'banana'键和对应的值
print(fruits)  # 输出: {'apple': 1, 'orange': 3}
  • 循环遍历字典:可以使用 for 循环遍历字典中的每个键、值或键值对。
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
# 遍历键
for key in fruits:
    print(key)
# 遍历值
for value in fruits.values():
    print(value)
# 遍历键值对
for key, value in fruits.items():
    print(key, value)
  • 其他常用操作:字典还支持获取长度、清空字典、判断键是否存在等操作。可以使用相应的方法来完成这些操作。
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
length = len(fruits)  # 获取字典长度
print(length)  # 输出: 3
fruits.clear()  # 清空字典
print(fruits)  # 输出: {}
print('apple' in fruits)  # 检查键'apple'是否存在,输出: False

以上是关于Python中字典的详细讲解。字典是一种非常有用和灵活的数据结构,可以存储键值对并快速查找。它在实际编程中应用广泛,可用于存储配置信息、缓存数据、数据库查询结果等各种情况。

如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下

相关文章
|
5天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
2天前
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
|
5天前
|
索引 Python
Python中的列表、元组和字典各具特色
【5月更文挑战第11天】Python中的列表、元组和字典各具特色:列表是可变的,元组不可变,字典亦可变;列表和元组有序,字典无序(但在Python 3.7+保持插入顺序);元素类型上,列表和元组元素任意,字典需键不可变;列表用方括号[],元组用圆括号(),字典用大括号{}表示。列表不适合作字典键,元组可以。选择数据结构应依据实际需求。
22 2
|
5天前
|
开发者 Python
【Python 基础】递推式构造字典(dictionary comprehension)
【5月更文挑战第8天】【Python 基础】递推式构造字典(dictionary comprehension)
|
5天前
|
Python
Python中字典和集合(二)
Python中字典和集合(二)
|
5天前
|
存储 算法 索引
Python中字典和集合(一)
Python中字典和集合(一)
|
5天前
|
存储 缓存 Python
【Python21天学习挑战赛】字典 && 小数据池
【Python21天学习挑战赛】字典 && 小数据池
|
5天前
|
存储 JSON 数据处理
|
5天前
|
存储 缓存 人工智能
bidict,一个超酷的 Python 双向字典库!
bidict,一个超酷的 Python 双向字典库!
20 1
|
5天前
|
存储 人工智能 索引
Python中的嵌套字典访问与操作详解
Python中的嵌套字典访问与操作详解
26 1
http://www.vxiaotou.com