Python 词典的强大功能:综合指南


字典是 Python 中最通用、最强大的数据结构之一。它们用于以键值格式存储数据集合,从而允许高效的数据检索和操作。

1. Python 词典简介

Python 中的字典是键值对格式的无序数据集合。每个键都是唯一的,用于访问其相应的值。字典在其他编程语言中也称为关联数组或哈希映射。

# An example dictionary
student = {
    'name': 'John',
    'age': 25,
    'major': 'Computer Science'
}

在上面的示例中,'name''age''major' 是键,而 'John'、25'Computer Science' 是它们各自的值。词典用大括号 {} 括起来,键值对用冒号分隔。

2. 创建词典

可以使用不同的方法创建词典:

a. 使用大括号

创建字典的最常见方法是将键值对括在大括号中。

student = {
    'name': 'John',
    'age': 25,
    'major': 'Computer Science'
}

b.使用dict()构造函数

可以通过将键值对作为参数传递,使用 dict() 构造函数创建字典。

student = dict(name='John', age=25, major='Computer Science')

c. 使用元组列表

还可以使用 dict() 构造函数从 Tuples 列表创建字典。

student_info = [('name', 'John'), ('age', 25), ('major', 'Computer Science')]
student = dict(student_info)

3. 访问 Dictionary 元素

要访问字典中的值,您可以使用键。只需在方括号中提供键或使用 get() 方法。

# Accessing values using square brackets
name = student['name']  # 'John'
age = student['age']    # 25
# Accessing values using get()
major = student.get('major')  # 'Computer Science'

使用 get() 更安全,因为如果未找到 key,它不会引发 KeyError;相反,它将默认返回 None 或指定的默认值。

4. 修改词典

词典是可变的,这意味着您可以在创建后更改其内容。以下是一些常见操作:

a. 添加键值对

可以通过为新键分配值来向字典添加新的键值对。

student['email'] = 'john@codeswithpankaj.com'

b. 更新值

要更新现有键的值,只需为其分配一个新值即可。

student['age'] = 26

c. 删除键值对

可以使用 del 语句或 pop() 方法删除键值对。

# Using del statement
del student['major']
# Using pop() method
email = student.pop('email')

5. 字典方法

Python 词典附带了多种方法,允许您操作和使用它们。让我们探索一些最常用的方法。

a.清除 ()

clear() 方法从字典中删除所有键值对,使其为空。

student.clear()

b.复制()

copy() 方法创建字典的浅表副本。

student_copy = student.copy()

c.fromkeys()

fromkeys() 方法创建一个具有指定键和可选值的新字典。

keys = ['name', 'age', 'major']
default_value = 'N/A'
student_info = dict.fromkeys(keys, default_value)

d.获取()

已经看到了用于访问值的 get() 方法。如果未找到键,则还可以使用第二个参数来指定默认值。

email = student.get('email', 'Not Available')

e.项目()

items() 方法以元组形式返回键值对列表。

items = student.items()
# [('name', 'John'), ('age', 25), ('major', 'Computer Science')]

f.键()

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

keys = student.keys()
# ['name', 'age', 'major']

g.值()

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

values = student.values()
# ['John', 25, 'Computer Science']

h.流行()

pop() 方法删除键并返回其值。如果未找到键,则还可以使用第二个参数来指定默认值。

major = student.pop('major')
# 'Computer Science'
gpa = student.pop('gpa', 3.0)
# 3.0

i.popitem()

popitem() 方法删除任意键值对并将其作为元组返回。

item = student.popitem()
# ('name', 'John')

j.更新()

update() 方法使用来自另一个字典或 iterable 的元素更新字典。

new_info = {'email': 'john@email.com', 'gpa': 3.8}
student.update(new_info)

6. 迭代字典

您可以遍历字典以访问它们的键和值。有几种方法可以执行此操作:

a. 循环遍历键

您可以使用 for 循环遍历字典的键。

for key in student:
    print(key, student[key])

b. 循环浏览项目

您可以使用 for 循环通过 items() 方法遍历键值对。

for key, value in student.items():
    print(key, value)

c. 遍历值

还可以使用 values() 方法遍历值。

for value in student.values():
    print(value)

7. 字典推导式

就像列表推导式一样,Python 允许你使用字典推导式创建词典。这些是从可迭代对象创建字典的简洁方法。

keys = ['a', 'b', 'c']
values = [1, 2, 3]
my_dict = {key: value for key, value in zip(keys, values)}
# {'a': 1, 'b': 2, 'c': 3}

当你想将可迭代对象中的数据转换或过滤为字典时,字典推导式很有用。

相关文章

python容器之字典详解

字典与列表类似,也是可变序列,不过不同的是字典是无序的可变序列,它的元素是通过键值对的形式存放的,键是唯一的,值是可变的。字典的主要特征:通过键而不是通过索引来访问字典是无序的可变序列字典是可变的,而...

Python 中字典的鲜为人知的用法

1. 添加列表作为字典的键_dict = {} _list = [1, 2, 3] _dict[_list] = 'Added' Output - _dict[_list] = 'A...

Python 基础教程五之Python3 字典

前言字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:d =...

Python入门系列20-Python内置数据结构之字典

字典是Python另一种常用的数据结构,在某些编程方面,字典的作用会比列表更方便,比如想利用某一种数据结构来表示一个人的基本信心。我想字典是最适合不过的数据类型了,虽然利用列表也可以实现,但是会比较麻...

Python快速入门教程:字典

一、字典简介字典(dictionary)是Python中非常重要的数据结构,它是一个无序的键值对集合。每个键与一个值关联,键必须是不可变类型(如字符串、数字或元组),而值可以是任意类型。创建字典使用花...

跟我一起学Python-字典(基础)

一.字典的定义语法形式:数据可以重复,键不可以重复变量名 = {key[键]:value[数据] } 1.字典采用 {}表示2.元素采用键值对的形式,键和值之间有冒号。键一般是字符串,具有一定的含义v...