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

详解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 lru_cache保存计算结果

    Python中的lru_cache装饰器是一种用于在计算结果中保存有限历史记录的技术。当函数被调用时,它会将参数和结果储存在内存中,并在后续调用时进行缓存,避免重复计算和提高程序响应速度。本文将详细介绍如何使用Python lru_cache装饰器。 什么是lru_cache lru_cache是Python标准库functools中的装饰器函数,它以LRU…

    python-answer 2023年3月25日
    00
  • Python中获取网页状态码的两个方法

    在Python中,我们可以使用两种方法获取网页状态码。本文将介绍这两种方法,并提供两个示例。 1. 使用requests库获取状态码 我们可以使用requests库的status_code属性获取网页状态码。以下是一个示例,演示如何使用requests库获取状态码: import requests url = ‘http://example.com’ res…

    python 2023年5月15日
    00
  • 对Django 中request.get和request.post的区别详解

    在 Django 中,request.GET 和 request.POST 是两个常用的属性,用于获取 GET 和 POST 请求中的参数。以下是两个示例,分别介绍了 request.GET 和 request.POST 的区别。 request.GET 获取 GET 请求参数 以下是一个示例,可以使用 request.GET 获取 GET 请求参数: fr…

    python 2023年5月15日
    00
  • MongoDB安装使用并实现Python操作数据库

    MongoDB是一个开源的、高性能稳定的NoSQL数据库,支持跨平台,提供了丰富的数据结构和查询方式,被广泛应用于大数据存储和处理中。本文将详细讲解如何安装、使用MongoDB,并使用Python编写操作MongoDB的代码。 安装MongoDB MongoDB提供了Windows、Linux、MacOS等多个平台的安装包,可以在官网下载最新版本的安装包。以…

    python 2023年5月14日
    00
  • python定间隔取点(np.linspace)的实现

    Python定间隔取点(np.linspace)的实现 在Python中,我们可以使用NumPy库中的np.linspace函数来实现定间隔取点的操作。本文将详细介绍np.linspace函数的法和用法,并提供一些示例说明。 np.linspace函数的语法 np.linspace函数的语法如下: np.linspace(start, stop, num=5…

    python 2023年5月13日
    00
  • python re的findall和finditer的区别详解

    Python re 的 findall 和 finditer 的区别详解 什么是 re re 是 Python 中的一个库,用于进行正则表达式操作。正则表达式是一种强大的模式匹配语言,可以用来匹配特定格式的字符串。 findall re.findall() 方法可以用来查找字符串中所有与正则表达式匹配的子串,并将其以列表的形式返回。以下是示例代码: impo…

    python 2023年6月3日
    00
  • 使用Python+selenium实现第一个自动化测试脚本

    下面是使用 Python + Selenium 实现第一个自动化测试脚本的完整攻略: 1. 安装 Python 和 Selenium Selenium 是一个自动化测试框架,它可以用来控制浏览器从而实现自动化测试。首先需要安装 Python,建议安装最新版本的 Python3,然后安装 Selenium。 首先安装 Python3,在官网下载并安装:http…

    python 2023年5月19日
    00
  • 深入理解Python的元类

    让我来为您详细讲解深入理解 Python 的元类完整攻略。 概念解释 首先,让我们了解一下什么是元类: 在 Python 中,一切都是对象。类也是对象,而且在 Python 中类是对象的最高形式,因为它们可以创建实例这个概念。而这种能够创建对象的对象被称为元类。 为了更好地理解元类,我们可以想象一下,类是一种蓝图,而元类就是用来创建这种蓝图的工厂。通过元类,…

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