「Python系列」Python字典

本文涉及的产品
性能测试 PTS,5000VUM额度
容器镜像服务 ACR,镜像仓库100个 不限时长
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 在Python中,字典(dict)是一个无序的键值对集合。每个键在字典中都是唯一的,而值可以是任何类型的数据(如列表、字典、整数、字符串等)。字典在Python中非常常用,因为它们提供了一种快速查找和访问数据的方法。

一、Python字典

在Python中,字典(dict)是一个无序的键值对集合。每个键在字典中都是唯一的,而值可以是任何类型的数据(如列表、字典、整数、字符串等)。字典在Python中非常常用,因为它们提供了一种快速查找和访问数据的方法。

字典的键(key)是唯一的,并且不可变(通常是字符串或数字),而值(value)可以是任何类型的数据。字典在内存中存储为哈希表,因此访问字典中的元素通常比访问列表或数组中的元素要快。

创建字典

可以使用大括号 {}dict() 函数来创建字典。

# 使用大括号创建字典
my_dict = {
   'apple': 1, 'banana': 2, 'cherry': 3}

# 使用dict()函数创建字典
another_dict = dict(apple=1, banana=2, cherry=3)

# 两种创建方式的结果是一样的
print(my_dict)        # 输出: {'apple': 1, 'banana': 2, 'cherry': 3}
print(another_dict)   # 输出: {'apple': 1, 'banana': 2, 'cherry': 3}

访问字典中的元素

可以通过键来访问字典中的值。

# 访问字典中的元素
print(my_dict['apple'])  # 输出: 1

# 如果键不存在,会抛出KeyError异常
# print(my_dict['orange'])  # 这将抛出 KeyError: 'orange'

# 可以使用get()方法来避免KeyError异常
print(my_dict.get('orange', 'Default value'))  # 输出: 'Default value'

修改字典

可以通过指定键来修改字典中的值。

# 修改字典中的值
my_dict['apple'] = 5
print(my_dict)  # 输出: {'apple': 5, 'banana': 2, 'cherry': 3}

# 添加新的键值对
my_dict['orange'] = 4
print(my_dict)  # 输出: {'apple': 5, 'banana': 2, 'cherry': 3, 'orange': 4}

删除字典中的元素

可以使用 del 语句或 pop() 方法来删除字典中的元素。

# 使用del语句删除键值对
del my_dict['banana']
print(my_dict)  # 输出: {'apple': 5, 'cherry': 3, 'orange': 4}

# 使用pop()方法删除键值对,并返回被删除的值
removed_value = my_dict.pop('orange')
print(removed_value)  # 输出: 4
print(my_dict)  # 输出: {'apple': 5, 'cherry': 3}

遍历字典

可以使用 keys()values()items() 方法来遍历字典的键、值或键值对。

# 遍历字典的键
for key in my_dict.keys():
    print(key)

# 遍历字典的值
for value in my_dict.values():
    print(value)

# 遍历字典的键值对
for key, value in my_dict.items():
    print(key, value)

字典推导式

字典推导式是一种简洁的方式来创建字典。

# 创建一个新字典,将原字典的键和值互换
new_dict = {
   v: k for k, v in my_dict.items()}
print(new_dict)  # 输出: {5: 'apple', 3: 'cherry'}

# 创建一个字典,包含原字典中所有值的平方
squared_dict = {
   k: v**2 for k, v in my_dict.items()}
print(squared_dict)  # 输出: {'apple': 25, 'cherry': 9}

字典是Python中非常强大且灵活的数据结构,它们提供了从键快速检索值的能力,是处理数据时经常使用的工具。

二、Python字典内置函数&方法

Python字典(dict)提供了许多内置函数和方法,这些函数和方法可以用于创建、访问、修改、删除和遍历字典。以下是一些常用的字典内置函数和方法:

内置函数

  1. dict():创建一个新的空字典或从一个可迭代对象(如键值对序列)创建字典。
# 创建一个空字典
empty_dict = dict()

# 从键值对序列创建字典
dict_from_pairs = dict([('a', 1), ('b', 2), ('c', 3)])

# 从关键字参数创建字典
dict_from_kwargs = dict(a=1, b=2, c=3)
  1. len():返回字典中键值对的数量。
my_dict = {
   'a': 1, 'b': 2, 'c': 3}
print(len(my_dict))  # 输出: 3

字典方法

Python字典(dict)提供了许多内置方法来操作字典数据。以下是一些常用的字典内置方法:

  1. clear()

清除字典中的所有项。

my_dict = {
   'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict)  # 输出: {}
  1. copy()

返回字典的一个浅复制(浅拷贝)。

my_dict = {
   'a': 1, 'b': 2, 'c': 3}
new_dict = my_dict.copy()
print(new_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3}
  1. get(key, default=None)

返回指定键的值。如果键不存在,则返回默认值(默认为None)。

my_dict = {
   'a': 1, 'b': 2}
print(my_dict.get('a'))     # 输出: 1
print(my_dict.get('c'))     # 输出: None
print(my_dict.get('c', 0))  # 输出: 0
  1. items()

返回字典中所有键值对的视图对象。

my_dict = {
   'a': 1, 'b': 2}
for key, value in my_dict.items():
    print(key, value)
# 输出:
# a 1
# b 2
  1. keys()

返回字典中所有键的视图对象。

my_dict = {
   'a': 1, 'b': 2}
for key in my_dict.keys():
    print(key)
# 输出:
# a
# b
  1. pop(key, default=None)

移除并返回指定键的值。如果键不存在,则返回默认值(默认为None)。

my_dict = {
   'a': 1, 'b': 2}
print(my_dict.pop('a'))  # 输出: 1
print(my_dict)           # 输出: {'b': 2}

# 如果键不存在,返回默认值
print(my_dict.pop('c', 0))  # 输出: 0
  1. popitem()

移除并返回字典中的最后一对键值对。

my_dict = {
   'a': 1, 'b': 2, 'c': 3}
print(my_dict.popitem())  # 输出: ('c', 3)
print(my_dict)            # 输出: {'a': 1, 'b': 2}
  1. setdefault(key, default=None)

如果键存在于字典中,返回键的值。如果键不存在,则将该键设置为默认值,并返回默认值。

my_dict = {
   'a': 1, 'b': 2}
print(my_dict.setdefault('a', 0))  # 输出: 1
print(my_dict.setdefault('c', 0))  # 输出: 0,并添加键值对'c': 0到字典中
print(my_dict)                     # 输出: {'a': 1, 'b': 2, 'c': 0}
  1. update(other_dict)

用另一个字典更新当前字典。如果键已存在,则更新其值。

my_dict = {
   'a': 1, 'b': 2}
new_items = {
   'b': 3, 'c': 4}
my_dict.update(new_items)
print(my_dict)  # 输出: {'a': 1, 'b': 3, 'c': 4}
  1. values()

返回字典中所有值的视图对象。

my_dict = {
   'a': 1, 'b': 2}
for value in my_dict.values():
    print(value)
# 输出:
# 1
# 2

三、Python简介

Python 是一种高级的、动态类型的编程语言,它的设计哲学强调代码的可读性和简洁性。Python 最初由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1989年发明,作为一种叫做 ABC 语言的替代品。Python 的名字来源于一个叫做Monty Python的喜剧团体的爱好者。

Python 是一种解释型语言,这意味着在开发过程中没有编译这个环节。Python 的语法简洁清晰,强制使用空白符作为语句缩进,这有助于提高代码的可读性。Python 还支持面向对象编程,能够轻松地定义和使用类和对象。

Python 是一种自由软件,其源代码和解释器遵循 GPL(GNU General Public License)协议。Python 的标准库提供了丰富的功能,包括文件I/O、网络编程、数据库交互等。此外,Python 的第三方库非常丰富,涵盖了科学计算、数据分析、机器学习、Web 开发等多个领域。

Python 在各个编程语言中比较适合新手学习,它常被用于教育和初学者入门。然而,Python 的强大功能和灵活性也使其成为大型项目的理想选择。在数据科学、人工智能、网络爬虫、自动化运维等领域,Python 都有着广泛的应用。

四、相关链接

  1. Python下载安装中心
  2. Python官网
  3. Python软件下载
  4. 「Python系列」Python简介及案例
  5. 「Python系列」Python基础语法/数据类型
  6. 「Python系列」Python解释器
  7. 「Python系列」Python运算符
  8. 「Python系列」Python数据结构
  9. 「Python系列」Python元组
  10. 「Python系列」Python集合
  11. 「Python系列」Python列表
相关文章
|
2月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
51 13
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
2月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
120 4
|
2月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
30 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
27 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)