Python学习之字典的常用方法总结

  • Post category:Python

Python学习之字典的常用方法总结

概述

字典(dictionary)是一种Python中非常常用的数据结构,和列表类似,可以存储多个元素,但字典的特点是每个元素都由键值对(key-value pair)组成,互相独立。字典的键是唯一的,相当于是每个元素的ID,而值则代表实际的数值、文本或对象。字典相对于列表来说有很多优势,使用起来也比较灵活,本篇攻略将介绍字典的常见用法和操作方法。

创建字典

在Python中,可以使用花括号{}或者dict函数来创建一个字典。例如:

dict1 = {'Name': 'Tom', 'Age': 20, 'City': 'Beijing'}
print(dict1)

输出:

{'Name': 'Tom', 'Age': 20, 'City': 'Beijing'}

或者:

dict2 = dict([('Name', 'Tom'), ('Age', 20), ('City', 'Beijing')])
print(dict2)

输出:

{'Name': 'Tom', 'Age': 20, 'City': 'Beijing'}

访问字典中的元素

字典中的元素是通过键来访问的,如同列表中的元素通过下标访问一样。例如:

print(dict1['Name'])

输出:

Tom

但是,如果访问的键不存在于字典中,就会报错。为了避免这种情况,可以使用get方法,它会返回None,而不是抛出异常。例如:

print(dict1.get('Gender'))

输出:

None

也可以指定一个默认值,如果键不存在,则返回该默认值。例如:

print(dict1.get('Gender', 'Unknown'))

输出:

Unknown

修改字典中的元素

在Python中,可以通过键来修改字典中的元素,如下所示:

dict1['Age'] = 21
print(dict1)

输出:

{'Name': 'Tom', 'Age': 21, 'City': 'Beijing'}

如果键不存在,则会添加新的键值对到字典中。例如:

dict1['Gender'] = 'Male'
print(dict1)

输出:

{'Name': 'Tom', 'Age': 21, 'City': 'Beijing', 'Gender': 'Male'}

遍历字典

Python中有多种遍历字典的方法,其中最常见的方法是使用for循环,同时通过items方法来获取字典中的键值对。例如:

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

输出:

Name Tom
Age 21
City Beijing
Gender Male

还可以使用keys和values方法,分别获取字典中的键和值。例如:

for key in dict1.keys():
    print(key)

输出:

Name
Age
City
Gender
for value in dict1.values():
    print(value)

输出:

Tom
21
Beijing
Male

删除字典元素

可以使用del关键字来删除字典中的元素,如下所示:

del dict1['Gender']
print(dict1)

输出:

{'Name': 'Tom', 'Age': 21, 'City': 'Beijing'}

示例说明

示例1:统计字符串中每个字符的出现次数

我们可以使用字典来存储出现次数,使用循环来遍历字符串中的每个字符,然后统计每个字符的出现次数,最后输出结果。

s = 'hello world'
cnt = {}
for c in s:
    if c not in cnt:
        cnt[c] = 1
    else:
        cnt[c] += 1

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

输出:

h 1
e 1
l 3
o 2
  1
w 1
r 1
d 1

示例2:合并多个字典

我们可以使用update方法将多个字典合并成一个字典。例如:

dict1 = {'Name': 'Tom', 'Age': 20, 'City': 'Beijing'}
dict2 = {'Gender': 'Male'}
dict3 = {'Grade': 'A'}
dict1.update(dict2)
dict1.update(dict3)
print(dict1)

输出:

{'Name': 'Tom', 'Age': 20, 'City': 'Beijing', 'Gender': 'Male', 'Grade': 'A'}

以上就是本篇攻略所介绍的字典常用方法总结。