一篇文章带你了解Python字典基础
什么是字典
Python 字典是一种无序的、可变的、有键的集合数据类型,其基本数据结构为键值对(key-value)。在字典中,每个键(key)都对应着一个值(value),键和值之间用冒号(:)隔开,键值对之间用逗号(,)分隔。
定义字典
可以通过花括号直接定义一个字典,也可以通过 dict() 函数来创建一个字典。其中,键唯一且不可变,值可以是任何数据类型,且可以重复。
# 直接定义字典
dic1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 使用 dict() 函数创建字典
dic2 = dict([('name', 'Jerry'), ('age', 20), ('gender', 'female')])
print(dic1) # 输出: {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(dic2) # 输出: {'name': 'Jerry', 'age': 20, 'gender': 'female'}
访问字典
可以通过键来访问字典中的值,如果键不存在,则会抛出 KeyError 异常。还可以使用 get() 方法来访问字典中的值,如果键不存在,则返回指定的默认值(默认为 None)。
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 通过键访问值
print(dict1['name']) # 输出: Tom
#print(dict1['phone']) # 抛出 KeyError 异常
# 使用 get() 方法访问值
print(dict1.get('name')) # 输出: Tom
print(dict1.get('phone', '110')) # 输出: 110
修改字典
可以通过键来修改字典中的值,如果键不存在,则会新增键值对。
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 修改键值对
dict1['age'] = 20
dict1['phone'] = '123456789'
print(dict1) # 输出: {'name': 'Tom', 'age': 20, 'gender': 'male', 'phone': '123456789'}
删除字典
可以使用 del 关键字来删除字典中的键值对,也可以使用 clear() 方法来清空字典。
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 删除键值对
del dict1['age']
# 清空字典
dict1.clear()
print(dict1) # 输出: {}
字典的遍历
可以通过 for 循环遍历字典中的键值对,也可以使用 items() 方法来获取字典中的键值对列表,然后进行遍历。
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 遍历键值对
for key, value in dict1.items():
print(key, value)
# 输出:
# name Tom
# age 18
# gender male
示例1
下面的例子创建了一个空的字典 dict1,然后通过键值对来新增元素。最后使用 for 循环遍历字典中的所有键值对,并输出。
dict1 = {}
# 新增键值对
dict1['name'] = 'Tom'
dict1['age'] = 18
dict1['gender'] = 'male'
# 遍历键值对
for key, value in dict1.items():
print(key, value)
# 输出:
# name Tom
# age 18
# gender male
示例2
下面的例子演示了如何使用字典来统计单词出现的次数。
sentence = "apple banana orange banana apple lemon"
# 将单词拆分成列表
word_list = sentence.split(' ')
# 创建一个空字典
word_dict = {}
# 统计每个单词出现的次数
for word in word_list:
if word not in word_dict:
word_dict[word] = 1
else:
word_dict[word] += 1
# 输出每个单词出现的次数
for key, value in word_dict.items():
print(key, ':', value)
# 输出:
# apple : 2
# banana : 2
# orange : 1
# lemon : 1
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章带你了解python字典基础 - Python技术站