Python中映射类型 (Mapping Type)

简介: 【8月更文挑战第2天】

image.png
映射类型(Mapping Type)是Python中一种非常重要的数据结构,它提供了一种高效的方式来存储和访问数据。在Python中,映射类型的典型代表是字典(dict),它是一种容器类型,能够将键(key)和值(value)以键值对的形式关联起来。这种结构使得我们可以通过键快速地查找对应的值。

字典的基本操作

创建字典

字典可以通过几种不同的方式创建:

  1. 使用字典字面量:通过花括号 {} 和冒号 : 来创建键值对。

    person = {
         
         'name': 'Alice', 'age': 30, 'city': 'New York'}
    
  2. 使用 dict() 构造器:通过关键字参数或者键值对列表来创建字典。

    person = dict(name='Alice', age=30, city='New York')
    # 或者
    person = dict([('name', 'Alice'), ('age', 30), ('city', 'New York')])
    
  3. 使用字典推导式:这是一种简洁的方式,可以用来构建字典。

    squares = {
         
         x: x*x for x in range(1, 6)}
    

访问字典

字典中的元素可以通过键来访问。如果键不存在,则会抛出 KeyError 异常。

# 正确的方式
print(person['name'])  # 输出: Alice

# 错误的方式,因为没有 'email' 这个键
# print(person['email'])

# 安全的方式
email = person.get('email')  # 输出: None
email = person.get('email', 'not-provided@example.com')  # 输出: not-provided@example.com

修改字典

字典是可变的,可以通过键来修改其值。

person['age'] = 31
person['email'] = 'alice@example.com'

删除字典中的项

可以使用 del 关键字来删除字典中的项。

del person['city']

遍历字典

遍历字典时,默认遍历的是键。要同时获取键和值,可以使用 items() 方法。

for key in person:
    print(key, person[key])

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

特性

  • 有序性:从Python 3.7开始,字典默认保持键的插入顺序。
  • 唯一性:字典中的键必须是唯一的,但是值可以重复。
  • 不可变键:键必须是不可变的数据类型,如数字、字符串或元组。列表等可变类型不能用作键。

示例

下面是一个简单的示例,展示如何创建一个字典并对其进行一些基本的操作:

# 创建字典
student = {
   
   
    'id': 123,
    'name': 'John Doe',
    'grades': [95, 88, 76]
}

# 访问值
print(student['name'])  # 输出: John Doe

# 添加新的键值对
student['email'] = 'john.doe@example.com'

# 修改值
student['grades'].append(92)

# 删除键值对
del student['id']

# 遍历字典
for key, value in student.items():
    print(f"{key}: {value}")

# 输出:
# name: John Doe
# grades: [95, 88, 76, 92]
# email: john.doe@example.com

总结

映射类型(如字典)在Python编程中非常有用,特别是在需要根据特定标识符快速查找信息的情况下。了解如何使用字典对于编写高效的代码至关重要。

目录
相关文章
|
5月前
|
Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
|
4月前
|
存储 索引 Python
Python散列类型(1)
【10月更文挑战第9天】
|
4月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
126 0
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
92 8
|
3月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
46 2
|
4月前
|
存储 数据安全/隐私保护 索引
|
4月前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
68 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
4月前
|
Python
【10月更文挑战第6天】「Mac上学Python 10」基础篇4 - 布尔类型详解
本篇将详细介绍Python中的布尔类型及其应用,包括布尔值、逻辑运算、关系运算符以及零值的概念。布尔类型是Python中的一种基本数据类型,广泛应用于条件判断和逻辑运算中,通过本篇的学习,用户将掌握如何使用布尔类型进行逻辑操作和条件判断。
76 1
【10月更文挑战第6天】「Mac上学Python 10」基础篇4 - 布尔类型详解
WK
|
4月前
|
存储 Python
Python内置类型名
Python 内置类型包括数字类型(int, float, complex)、序列类型(str, list, tuple, range)、集合类型(set, frozenset)、映射类型(dict)、布尔类型(bool)、二进制类型(bytes, bytearray, memoryview)、其他类型(NoneType, type, 函数类型等),提供了丰富的数据结构和操作,支持高效编程。
WK
33 2
|
4月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)

热门文章

最新文章