Python 字典(dict)详解

Python 字典(dict)详解

Python 字典(dict)详解

什么是字典(dict)

在Python中,字典(dict)是一种可变的、无序的、由键值对组成的数据结构。每个键值对(key-value pair)在字典中都是唯一的,key是不可变的,通常是字符串或数字类型,而value可以是任意数据类型。

字典的表现形式为{key1: value1, key2: value2, ...}

字典的特点包括:

  • 字典是无序的,即字典中元素的顺序是不固定的,不同环境下打印可能有不同的顺序。
  • 字典中的key是唯一的,如果有重复的key出现,后面的会覆盖前面的。
  • 字典是可变的,即可以对字典进行增删改操作。
  • 字典的key必须是不可变类型,如字符串、数字、元组。value可以是任意数据类型。

创建字典

我们可以通过两种方法来创建一个字典:直接赋值和使用dict()函数。

直接赋值

直接赋值的方式是最简单的创建字典的方法,我们通过{}大括号来表示一个空字典,然后向其中添加键值对。

示例代码如下:

# 创建一个空字典
my_dict = {}

# 向字典中添加键值对
my_dict['name'] = 'Alice'
my_dict['age'] = 25
my_dict['gender'] = 'female'

print(my_dict)

运行以上代码,输出为:

{'name': 'Alice', 'age': 25, 'gender': 'female'}

使用dict()函数

我们也可以使用dict()函数来创建一个字典。dict()函数接受一个包含键值对的元组列表或者其他字典作为参数,并返回一个新的字典。

示例代码如下:

# 使用dict()函数创建字典
my_dict = dict([('name', 'Bob'), ('age', 30), ('gender', 'male')])

print(my_dict)

运行以上代码,输出为:

{'name': 'Bob', 'age': 30, 'gender': 'male'}

字典的操作

访问字典中的值

我们可以通过字典的key来访问对应的value。如果key存在于字典中,将返回对应的value;如果key不存在,会抛出KeyError异常。

示例代码如下:

# 访问字典中的值
my_dict = {'name': 'Charlie', 'age': 27, 'gender': 'male'}

print(my_dict['name'])
print(my_dict['age'])
print(my_dict['city'])  # 不存在的key,会抛出KeyError异常

运行以上代码,输出为:

Charlie
27
KeyError: 'city'

更新字典的值

如果我们想要更新字典中某个key对应的value,可以直接对该key进行赋值操作。

示例代码如下:

# 更新字典中的值
my_dict = {'name': 'David', 'age': 22, 'gender': 'male'}

my_dict['age'] = 25

print(my_dict)

运行以上代码,输出为:

{'name': 'David', 'age': 25, 'gender': 'male'}

删除键值对

我们可以使用del语句来删除字典中的某个键值对。

示例代码如下:

# 删除键值对
my_dict = {'name': 'Eve', 'age': 35, 'gender': 'female'}

del my_dict['age']

print(my_dict)

运行以上代码,输出为:

{'name': 'Eve', 'gender': 'female'}

字典的方法

Python中字典提供了多种方法用于操作字典,下面介绍一些常用的方法。

keys()方法

keys()方法返回字典中所有key的视图(view)。

示例代码如下:

# 使用keys()方法
my_dict = {'name': 'Frank', 'age': 28, 'gender': 'male'}

keys = my_dict.keys()

print(keys)

运行以上代码,输出为:

dict_keys(['name', 'age', 'gender'])

values()方法

values()方法返回字典中所有value的视图(view)。

示例代码如下:

# 使用values()方法
my_dict = {'name': 'Grace', 'age': 30, 'gender': 'female'}

values = my_dict.values()

print(values)

运行以上代码,输出为:

dict_values(['Grace', 30, 'female'])

items()方法

items()方法返回字典中所有键值对的视图(view),每个键值对以元组的形式表示。

示例代码如下:

# 使用items()方法
my_dict = {'name': 'Helen', 'age': 33, 'gender': 'female'}

items = my_dict.items()

print(items)

运行以上代码,输出为:

dict_items([('name', 'Helen'), ('age', 33), ('gender', 'female')])

get()方法

get()方法用于获取指定key的value,如果key不存在,返回默认值(默认为None)。

示例代码如下:

# 使用get()方法
my_dict = {'name': 'Ian', 'age': 36, 'gender': 'male'}

age = my_dict.get('age')
city = my_dict.get('city', 'Unknown')

print(age)
print(city)

运行以上代码,输出为:

36
Unknown

update()方法

update()方法用于更新字典,可以接受一个字典或键值对的元组列表作为参数,将其合并到原字典中。

示例代码如下:

# 使用update()方法
my_dict = {'name': 'James', 'age': 40, 'gender': 'male'}

my_dict.update({'age': 45, 'city': 'New York'})

print(my_dict)

运行以上代码,输出为:

{'name': 'James', 'age': 45, 'gender': 'male', 'city': 'New York'}

总结

字典是Python中常用的数据结构之一,通过键值对的形式,我们可以方便地存储和操作数据。在实际应用中,字典可以用来表示各种数据,如学生信息、员工工资、商品价格等等。掌握字典的基本操作和常用方法,对于编写Python程序是非常重要的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程