Python入门:7.Pythond的内置容器

简介: Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。

引言

Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。

一、容器的概念

容器是用来存储多个数据的对象。在 Python 中,容器根据数据是否有序、是否可变、是否重复等特性被划分为多种类型。主要包括以下几类:

  1. 字符串(str):存储字符编码值,不可变,序列。
  2. 列表(list):存储变量,可变,序列。
  3. 元组(tuple):存储变量,不可变,序列。
  4. 字典(dict):存储键值对,可变,散列,键不能重复且不可变。
  5. 集合(set):存储键,可变,无序且不重复。
    在这里插入图片描述

二、内置容器的详细解析

1. 字符串(String,str)

字符串是一种不可变的有序字符序列。

常用方法表格:
方法名 描述
len(s) 返回字符串的长度
s.lower() 转换为小写
s.upper() 转换为大写
s.strip() 去除两端的空格或指定字符
s.split() 根据指定分隔符拆分字符串
s.join(t) 用字符串连接可迭代对象的元素
s.replace(a, b) 替换字符串中的子串 a 为 b
示例代码:
text = " Hello, Python! "

# 基本操作
print(len(text))        # 输出: 15
print(text.strip())     # 输出: Hello, Python!
print(text.lower())     # 输出:  hello, python!

# 分割与连接
words = text.strip().split(", ")
print(words)            # 输出: ['Hello', 'Python!']
joined = "-".join(words)
print(joined)           # 输出: Hello-Python!
2. 列表(List)

列表是一种有序、可变的容器,可以存储任意类型的对象。

常用方法表格:
方法名 描述
len(lst) 返回列表的长度
lst.append(x) 在列表末尾添加元素 x
lst.insert(i, x) 在索引 i 处插入元素 x
lst.pop([i]) 删除并返回索引 i 处的元素(默认为末尾)
lst.remove(x) 删除第一个值为 x 的元素
lst.sort() 对列表进行排序(默认升序)
lst.reverse() 将列表反转
示例代码:
fruits = ['apple', 'banana', 'cherry']

# 添加和删除元素
fruits.append('orange')
print(fruits)             # 输出: ['apple', 'banana', 'cherry', 'orange']
fruits.remove('banana')
print(fruits)             # 输出: ['apple', 'cherry', 'orange']

# 索引与排序
fruits.insert(1, 'grape')
print(fruits)             # 输出: ['apple', 'grape', 'cherry', 'orange']
fruits.sort()
print(fruits)             # 输出: ['apple', 'cherry', 'grape', 'orange']
3. 元组(Tuple)

元组是一种有序、不可变的容器。

常用方法表格:
方法名 描述
len(tpl) 返回元组的长度
tpl.index(x) 返回元素 x 的第一个索引
tpl.count(x) 返回元素 x 出现的次数
示例代码:
coordinates = (10, 20, 30, 20)

# 元组操作
print(len(coordinates))      # 输出: 4
print(coordinates.index(20)) # 输出: 1
print(coordinates.count(20)) # 输出: 2
4. 字典(Dictionary,dict)

字典是一种无序的键值对(key-value pair)容器。

常用方法表格:
方法名 描述
len(d) 返回字典中键值对的数量
d[k] 返回键 k 对应的值
d.clear() 清空字典中的所有键值对
d.get(k[, default]) 返回键 k 对应的值,如果不存在返回默认值
d.keys() 返回字典的所有键
d.values() 返回字典的所有值
d.items() 返回字典的所有键值对
d.pop(k) 删除并返回键 k 对应的值
示例代码:
person = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}

# 基本操作
print(len(person))           # 输出: 3
print(person.get('name'))    # 输出: Alice

# 修改和删除
person['age'] = 30
person.pop('city')
print(person)                # 输出: {'name': 'Alice', 'age': 30}

# 遍历
for key, value in person.items():
    print(f"{key}: {value}")
5. 集合(Set)

集合是一种无序、不重复元素的容器。

常用方法表格:
方法名 描述
len(s) 返回集合的大小
s.add(x) 向集合添加元素 x
s.remove(x) 从集合中删除元素 x
s.union(t) 返回两个集合的并集
s.intersection(t) 返回两个集合的交集
s.difference(t) 返回两个集合的差集
示例代码:
A = {
   1, 2, 3}
B = {
   3, 4, 5}

# 集合操作
print(A.union(B))           # 输出: {1, 2, 3, 4, 5}
print(A.intersection(B))    # 输出: {3}
print(A.difference(B))      # 输出: {1, 2}

# 添加和删除元素
A.add(6)
A.remove(2)
print(A)                    # 输出: {1, 3, 6}

三、容器间的相互转换

Python 的容器可以相互转换,这使得它们在不同场景下非常灵活。

# 列表转集合
unique_items = set([1, 2, 2, 3])

# 集合转列表
items = list(unique_items)

# 列表转字典
pairs = [('a', 1), ('b', 2)]
d = dict(pairs)

四、总结

选择合适的容器是编程的关键:

  • 需要有序数据并允许重复?使用列表。
  • 数据不变且需要有序?使用元组。
  • 需要快速查找数据?使用字典或集合。
  • 需要唯一值集合且无序?使用集合。
容器类型 特点 是否可变 是否有序 是否允许重复
字符串(str) 存储字符编码值 不可变 有序 允许
列表(list) 存储变量 可变 有序 允许
元组(tuple) 存储变量 不可变 有序 允许
字典(dict) 存储键值对 可变 无序 不适用(键唯一)
集合(set) 存储键 可变 无序 不允许

通过掌握这些内置容器的特点和用法,可以更高效地组织和操作数据,从而编写简洁优雅的 Python 代码。希望本文能帮助你更好地理解和应用这些容器!
在这里插入图片描述

相关文章
|
24天前
|
大数据 数据处理 数据安全/隐私保护
Python3 迭代器与生成器详解:从入门到实践
简介:本文深入解析Python中处理数据序列的利器——迭代器与生成器。通过通俗语言与实战案例,讲解其核心原理、自定义实现及大数据处理中的高效应用。
64 0
|
5天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
51 1
|
1月前
|
API 数据安全/隐私保护 开发者
Python自定义异常:从入门到实践的轻松指南
在Python开发中,自定义异常能提升错误处理的精准度与代码可维护性。本文通过银行系统、电商库存等实例,详解如何创建和使用自定义异常,涵盖异常基础、进阶技巧、最佳实践与真实场景应用,助你写出更专业、易调试的代码。
94 0
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python循环嵌套:从入门到实战的完整指南
循环嵌套是Python中处理多维数据和复杂逻辑的重要工具。本文通过实例讲解嵌套循环的基本用法、常见组合、性能优化技巧及实战应用,帮助开发者掌握其核心思想,避免常见错误,并探索替代方案与进阶方向。
97 0
|
10天前
|
调度 数据库 Python
Python异步编程入门:asyncio让并发变得更简单
Python异步编程入门:asyncio让并发变得更简单
69 5
|
3月前
|
Python
Python字符串格式化利器:f-strings入门指南
Python字符串格式化利器:f-strings入门指南
204 80
|
23天前
|
数据采集 存储 XML
Python爬虫入门(1)
在互联网时代,数据成为宝贵资源,Python凭借简洁语法和丰富库支持,成为编写网络爬虫的首选。本文介绍Python爬虫基础,涵盖请求发送、内容解析、数据存储等核心环节,并提供环境配置及实战示例,助你快速入门并掌握数据抓取技巧。
|
26天前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
38 0
|
1月前
|
数据挖掘 数据处理 C++
Python Lambda:从入门到实战的轻量级函数指南
本文通过10个典型场景,详解Python中Lambda匿名函数的用法。Lambda适用于数据处理、排序、条件筛选、事件绑定等简洁逻辑,能提升代码简洁性和开发效率。同时提醒避免在复杂逻辑中过度使用。掌握Lambda,助你写出更高效的Python代码。
116 0

推荐镜像

更多