详解Python中映射类型(字典)操作符的概念和使用
在Python中,字典(dictionary)是一种映射类型(mapping type),它是一组以 key-value 形式存储的数据结构。在字典中,每一个 key 都唯一地对应一个 value。
字典的基本操作
创建字典
可以使用大括号 {}
或 dict
函数来创建字典。例如:
# 使用大括号创建空字典
my_dict = {}
# 使用大括号创建非空字典
my_dict = {'name': 'Alice', 'age': 18}
# 使用 dict 函数创建字典
my_dict = dict(name='Alice', age=18)
字典的访问操作
字典中的元素可以通过 key 访问。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 访问字典的元素
print(my_dict['name']) # 输出:Alice
print(my_dict['age']) # 输出:18
注意,如果访问一个不存在的 key,会抛出 KeyError
异常:
my_dict = {'name': 'Alice', 'age': 18}
try:
print(my_dict['phone'])
except KeyError as e:
print(f'KeyError: {e}') # 输出:KeyError: 'phone'
可以使用 get
方法来避免上述异常,如果 key 不存在,则返回 None 或一个给定的默认值。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 使用 get 方法获取字典中的元素
print(my_dict.get('name')) # 输出:Alice
print(my_dict.get('phone')) # 输出:None
# 也可以指定默认值
print(my_dict.get('phone', 'Not Found')) # 输出:Not Found
字典的修改操作
可以通过 key 直接修改字典中的元素。如果 key 不存在,则会将该元素添加到字典中。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 修改或添加元素
my_dict['name'] = 'Bob'
my_dict['phone'] = '+86 18888888888'
print(my_dict) # 输出:{'name': 'Bob', 'age': 18, 'phone': '+86 18888888888'}
字典的删除操作
可以使用 del
关键字删除字典中的元素或整个字典。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 删除某个元素
del my_dict['name']
print(my_dict) # 输出:{'age': 18}
# 删除整个字典
del my_dict
# 会抛出 NameError,因为 my_dict 已被删除
print(my_dict)
字典操作符
in
操作符
in
操作符可以用来检查字典中是否存在指定的 key。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 判断 key 是否存在
if 'name' in my_dict:
print('name exists') # 输出:name exists
if 'phone' in my_dict:
print('phone exists') # 不输出
not in
操作符
与 in
操作符相反的是 not in
操作符,它可以用来检查字典中是否不存在指定的 key。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 判断 key 是否不存在
if 'phone' not in my_dict:
print('phone does not exist') # 输出:phone does not exist
if 'name' not in my_dict:
print('name does not exist') # 不输出
len
函数
len
函数可以用来获取字典中元素的数量。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 获取字典中元素的数量
print(len(my_dict)) # 输出:2
字典遍历
可以使用 items
方法来遍历字典中的每一个 key-value 对。例如:
my_dict = {'name': 'Alice', 'age': 18}
# 遍历字典
for key, value in my_dict.items():
print(f'{key}: {value}')
输出结果为:
name: Alice
age: 18
示例
使用字典统计单词出现次数
以下代码使用字典统计一段文本中每一个单词出现的次数:
text = 'This is a sample text to demo how to use Python dictionary'
word_count = {}
# 拆分单词,统计出现次数
for word in text.split():
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出每一个单词出现的次数
for word, count in word_count.items():
print(f'{word}: {count}')
输出结果为:
This: 1
is: 1
a: 1
sample: 1
text: 1
to: 1
demo: 1
how: 1
use: 1
Python: 1
dictionary: 1
使用字典实现 switch-case 语句
Python 中并没有 switch-case 语句,但我们可以使用字典来实现类似的功能。以下代码演示如何使用字典实现一个计算器的功能:
def add(x, y):
return x + y
def sub(x, y):
return x - y
def mul(x, y):
return x * y
def div(x, y):
return x / y
# 定义操作符对应的函数
ops = {
'+': add,
'-': sub,
'*': mul,
'/': div
}
# 获取用户输入的数值和操作符
x = float(input('请输入第一个数:'))
op = input('请输入操作符:')
y = float(input('请输入第二个数:'))
# 执行操作符对应的函数
result = ops[op](x, y)
# 输出结果
print(f'{x} {op} {y} = {result}')
运行结果如下:
请输入第一个数:6
请输入操作符:*
请输入第二个数:9
6.0 * 9.0 = 54.0
以上就是字典的基本操作和操作符的概念和使用的详细讲解,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python中映射类型(字典)操作符的概念和使用 - Python技术站