详解Python中映射类型(字典)操作符的概念和使用

yizhihongxing

详解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技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python变量作用域与列表入门详解

    Python变量作用域与列表入门详解 在Python编程中,变量的作用域是非常重要的一个概念。一个变量的作用域决定了它在程序中的可见性和生命周期。因此,深入理解Python变量作用域对于编程人员来说是非常有用的。 本篇文章将详细介绍Python变量作用域和列表的入门使用。文章内容包含以下两个部分: Python变量作用域 Python列表 Python变量作…

    python 2023年6月5日
    00
  • Python全栈之文件操作

    Python全栈之文件操作 在Python全栈开发中,文件操作是非常重要的一部分。本篇文章将介绍Python中文件操作的相关知识,并提供一些示例供大家参考。 文件打开 在Python中,打开一个文件需要用到open()函数,其语法如下: file = open(file_path, mode) 其中,file_path是文件的路径,mode是打开文件的模式。…

    python 2023年5月13日
    00
  • 解决django后台管理界面添加中文内容乱码问题

    解决Django后台管理界面添加中文内容乱码问题,可以参照以下步骤进行: 1. 修改settings.py文件 在settings.py文件中添加以下代码: # 设置默认编码为UTF-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "项目名称.setting…

    python 2023年5月20日
    00
  • Python包装异常处理方法

    Python包装异常处理方法是指将函数中捕获的异常重新抛出一次,同时添加额外的错误信息以便于调试。下面是详细的攻略: 1. 什么是Python包装异常处理方法 当我们在函数中捕获异常时,通常不会直接将其返回,而是需要进行处理。这时,我们可以使用Python包装异常处理方法。具体来讲,即将捕获的异常重新抛出一次,并添加额外的错误信息。这样,就能够更清楚地看到程…

    python 2023年5月13日
    00
  • 如何在Python中把一维数组作为列转换成二维数组

    在Python中将一维数组作为列转换为二维数组可以使用Numpy库中提供的函数 reshape() 和 transpose()。 首先,使用Numpy库中的reshape()函数将一维数组转换为二维数组,然后使用transpose()函数进行转置,即可将一维数组作为列转换为二维数组。 以下是详细步骤和示例: 步骤一:导入Numpy库 在Python中使用Nu…

    python-answer 2023年3月25日
    00
  • python 实现UTC时间加减的方法

    下面是Python实现UTC时间加减的方法的完整攻略。 1. 了解UTC时间和Python中的时间模块 UTC时间是“协调世界时”的缩写,是世界上标准的时间。与之相对的,各个地区的所采用的时间则可能有所差异。在Python中,我们可以通过内置的时间模块datetime来对时间进行操作,包括对UTC时间的操作。 2. 使用datetime.timedelta进…

    python 2023年6月2日
    00
  • python使用minimax算法实现五子棋

    Python使用Minimax算法实现五子棋 Minimax算法是一种常用的博弈树搜索算法,它可以用于实现五子棋等游戏的人工智能。在本文中,我们将介绍如何使用Python实现Minimax算法来实现五子棋的人工智能。我们分为以下几个步骤: 定义游戏状态 定义Minimax算法 示例说明 步骤1:定义游戏状态 在实现Minimax算法之前,我们定义游戏状态。在…

    python 2023年5月14日
    00
  • 零基础写python爬虫之神器正则表达式

    零基础写Python爬虫之神器正则表达式 正则表达式是一种强大的工具,可以用于匹配、查找和替换文本中的模式。在Python爬虫中,正则表达式常用于解析HTML页面,提取所需的数据。本攻略将详细讲解正则表达式的基本用法、常用符号和示例应用。 基本用法 Python中使用re模块提供的函数来操作正则表达式。常用函数: re.search(pattern, str…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部