Python入门之字典的使用教程

1. 字典的概念和基本操作

字典(dictionary)是Python内置的一种数据类型,用于存储键-值对(key-value pairs)。字典中的每个键(key)都唯一,可以对应一个值(value),键和值之间用冒号(:)分隔,键-值对之间用逗号(,)分隔,整个字典用大括号({})括起来。

字典的基本操作包括创建字典、访问字典中的值、修改字典中的值、删除字典中的键-值对、遍历字典等。

1.1 创建字典

创建字典的方法主要有两种:

直接在代码中用大括号括起来,键和值之间用冒号分隔

使用dict()函数,可以将一个包含键值对的序列转换成字典

下面是两种方法的示例代码:

# 直接创建字典

dic1 = {'name': 'John', 'age': 18, 'gender': 'male'}

# 使用dict()函数创建字典

dic2 = dict([('name', 'Amy'), ('age', 20), ('gender', 'female')])

以上代码分别创建了两个字典,使用print()函数输出它们的值:

print(dic1) # {'name': 'John', 'age': 18, 'gender': 'male'}

print(dic2) # {'name': 'Amy', 'age': 20, 'gender': 'female'}

可以看到,输出的是以大括号括起来的键-值对,其中键和值之间用冒号分隔,不同的键-值对之间用逗号分隔。

1.2 访问字典中的值

访问字典中的值需要通过键来实现,可以使用中括号([])来访问,也可以使用get()方法。如果访问一个不存在的键,使用中括号([])会抛出异常,而使用get()方法则返回None。

下面是两种方法的示例代码:

# 访问字典中的值(使用中括号)

print(dic1['name']) # John

# 访问字典中的值(使用get()方法)

print(dic1.get('age')) # 18

# 访问一个不存在的键(使用中括号)

print(dic1['job']) # KeyError: 'job'

# 访问一个不存在的键(使用get()方法)

print(dic1.get('job')) # None

可以看到,在访问存在的键时,两种方法的结果都是一样的;而在访问不存在的键时,直接使用中括号([])的方式会抛出异常,而使用get()方法则返回None。

1.3 修改字典中的值

修改字典中的值可以直接使用中括号([])来修改,也可以使用update()方法来实现。

下面是两种方法的示例代码:

# 修改字典中的值(使用中括号)

dic1['age'] = 20

print(dic1) # {'name': 'John', 'age': 20, 'gender': 'male'}

# 修改字典中的值(使用update()方法)

dic1.update({'gender': 'female'})

print(dic1) # {'name': 'John', 'age': 20, 'gender': 'female'}

可以看到,无论是使用中括号([])还是使用update()方法,都可以完成修改字典中的值的操作。

1.4 删除字典中的键-值对

删除字典中的键-值对可以使用del语句,也可以使用pop()方法。使用del语句删除键-值对时,如果删除的键不存在,会抛出异常;而使用pop()方法删除键-值对时,如果删除的键不存在,不会抛出异常。

下面是两种方法的示例代码:

# 删除字典中的键-值对(使用del语句)

del dic1['gender']

print(dic1) # {'name': 'John', 'age': 20}

# 删除字典中的键-值对(使用pop()方法)

dic1.pop('age')

print(dic1) # {'name': 'John'}

可以看到,无论是使用del语句还是使用pop()方法,都可以完成删除字典中键-值对的操作。

1.5 遍历字典

遍历字典有多种方法,其中最常用的方法是使用items()方法来遍历,items()方法返回字典中所有键-值对的元组,可以通过for循环来遍历。

下面是示例代码:

# 遍历字典(使用items()方法)

for key, value in dic1.items():

print(key, value)

以上代码会依次输出字典中每个键-值对的键和值。

2. 字典的常用方法

除了基本操作之外,字典还有很多常用方法,包括:

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

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

clear()方法:清空字典

copy()方法:返回字典的副本

fromkeys()方法:创建一个新字典,包含指定的键和默认值

2.1 keys()方法

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

下面是示例代码:

# 使用keys()方法遍历字典中的键

for key in dic1.keys():

print(key)

以上代码会依次输出字典中每个键。

2.2 values()方法

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

下面是示例代码:

# 使用values()方法遍历字典中的值

for value in dic1.values():

print(value)

以上代码会依次输出字典中每个值。

2.3 clear()方法

clear()方法可以清空字典。

下面是示例代码:

# 使用clear()方法清空字典

dic1.clear()

print(dic1) # {}

可以看到,使用clear()方法清空字典会将字典中所有键-值对清空,将字典变为空字典。

2.4 copy()方法

copy()方法可以返回字典的副本。

下面是示例代码:

# 使用copy()方法复制字典

dic2 = dic1.copy()

print(dic1) # {}

print(dic2) # {}

可以看到,使用copy()方法可以复制字典。

2.5 fromkeys()方法

fromkeys()方法可以创建一个新字典,其中包含指定的键和默认值。

下面是示例代码:

# 使用fromkeys()方法创建新字典

dic3 = dict.fromkeys(['name', 'age', 'gender'], 'unknown')

print(dic3) # {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}

可以看到,使用fromkeys()方法可以创建一个新字典,其中每个键都对应同一个默认值。

3. 总结

本文介绍了Python字典的概念和基本操作,包括创建字典、访问字典中的值、修改字典中的值、删除字典中的键-值对、遍历字典等。除了基本操作,还介绍了字典的常用方法,包括keys()方法、values()方法、clear()方法、copy()方法、fromkeys()方法。

后端开发标签