当前位置: 首页 > news >正文

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

引言

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 代码。希望本文能帮助你更好地理解和应用这些容器!
在这里插入图片描述

http://www.lryc.cn/news/511258.html

相关文章:

  • sqlserver镜像设置
  • Pandas04
  • 农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序(升级版)
  • c语言中void关键字的含义和用法
  • 安卓音频之dumpsys audio
  • 玩客云v1.0 刷机时无法识别USB
  • 影刀进阶指令 | Kimi (对标ChatGPT)
  • 前端项目 node_modules依赖报错解决记录
  • 数据科学团队管理
  • 一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
  • 攻防世界web第二题unseping
  • 动手学深度学习-深度学习计算-3延后初始化
  • Linux | 零基础Ubuntu搭建JDK
  • Android `android.graphics` 包深度解析:架构与设计模式
  • WPF使用OpenCvSharp4
  • 你不需要对其他成年人的情绪负责
  • 25秋招面试总结
  • 高斯核函数(深入浅出)
  • 支付宝百宝箱 工具,快速上手制作一个agent
  • 六十:HTTP/2与gRPC框架
  • 1.RPC基本原理
  • vue2/3,Spring Boot以及生产环境跨域解决方案
  • 【centos8 镜像修改】centos8 镜像修改阿里云
  • 多线程编程初探:掌握基本概念与核心原理
  • 【信息系统项目管理师】第13章:项目资源管理过程详解
  • vue3封装而成的APP ,在版本更新后,页面显示空白
  • GEE云计算、多源遥感、高光谱遥感技术蓝碳储量估算;红树林植被指数计算及提取
  • 【知识】cuda检测GPU是否支持P2P通信及一些注意事项
  • 用 Python 生成功能强大的二维码工具(支持自定义颜色与 Logo)
  • RTX5 数据队列传输流程