首页 > Python资料 博客日记
超详解——Python 序列详解——基础篇
2024-06-22 01:00:03Python资料围观89次
目录
1. 序列的概念
序列是一种数据结构,它存储了一组有序的元素。这些元素可以是任何类型的对象,甚至是其他序列。在Python中,最常用的序列类型包括:
- 字符串(String):由字符组成的序列,用于表示文本。
- 列表(List):由任意类型的对象组成的可变序列。
- 元组(Tuple):由任意类型的对象组成的不可变序列。
每个序列中的元素都有一个唯一的索引,可以通过索引访问特定的元素。序列的索引从0开始,正向索引从左到右依次增加,反向索引从右到左依次减少。
字符串(String)
字符串是字符的有序集合,用于表示文本信息。字符串使用单引号('
)、双引号("
)或三引号('''
或 """
)包围。字符串是不可变的,即创建后不能更改。
示例:
s = "Hello, World!"
列表(List)
列表是Python中最常用的数据结构之一,可以存储任意类型的元素。列表是可变的,可以在创建后修改其内容。列表使用方括号([]
)包围,元素之间用逗号分隔。
示例:
lst = [1, 2, 3, "Python", [5, 6]]
元组(Tuple)
元组与列表类似,但元组是不可变的,即一旦创建就不能修改其内容。元组使用圆括号(()
)包围,元素之间用逗号分隔。
示例:
tup = (1, 2, 3, "Python", (5, 6))
2. 标准类型操作符
Python提供了一些标准操作符,可以用于操作序列。这些操作符包括连接、重复、索引、切片和成员资格测试。
连接操作符(+)
连接操作符用于将两个序列连接成一个新的序列。
示例:
s1 = "Hello, "
s2 = "World!"
s3 = s1 + s2 # "Hello, World!"
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = lst1 + lst2 # [1, 2, 3, 4, 5, 6]
tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup3 = tup1 + tup2 # (1, 2, 3, 4, 5, 6)
重复操作符(*)
重复操作符用于将序列重复指定的次数,生成一个新的序列。
示例:
s = "Hello"
s_repeated = s * 3 # "HelloHelloHello"
lst = [1, 2, 3]
lst_repeated = lst * 2 # [1, 2, 3, 1, 2, 3]
tup = (1, 2, 3)
tup_repeated = tup * 2 # (1, 2, 3, 1, 2, 3)
索引操作符([])
索引操作符用于访问序列中的单个元素。正向索引从0开始,反向索引从-1开始。
示例:
s = "Python"
print(s[0]) # "P"
print(s[-1]) # "n"
lst = [1, 2, 3, 4, 5]
print(lst[2]) # 3
print(lst[-2]) # 4
tup = (1, 2, 3, 4, 5)
print(tup[1]) # 2
print(tup[-3]) # 3
切片操作符([:])
切片操作符用于访问序列中的一部分元素,生成一个新的序列。切片的语法为 序列[开始:结束:步长]
。
示例:
s = "Hello, World!"
print(s[0:5]) # "Hello"
print(s[7:12]) # "World"
print(s[::-1]) # "!dlroW ,olleH" (反转字符串)
lst = [1, 2, 3, 4, 5, 6]
print(lst[1:4]) # [2, 3, 4]
print(lst[:3]) # [1, 2, 3]
print(lst[::2]) # [1, 3, 5]
tup = (1, 2, 3, 4, 5, 6)
print(tup[2:5]) # (3, 4, 5)
print(tup[::3]) # (1, 4)
成员操作符(in 和 not in)
成员操作符用于检查元素是否存在于序列中。
示例:
s = "Hello, World!"
print("H" in s) # True
print("h" not in s) # True
lst = [1, 2, 3, 4, 5]
print(3 in lst) # True
print(6 not in lst) # True
tup = (1, 2, 3, 4, 5)
print(2 in tup) # True
print(7 not in tup) # True
3. 序列的切片操作
切片是从序列中提取子序列的操作。切片操作返回一个新的序列,不修改原序列。切片操作的语法为 序列[开始:结束:步长]
。其中,开始
和结束
为索引位置,步长
表示元素间的间隔,默认为1。
基本切片
最简单的切片操作只包含开始和结束索引。
示例:
s = "Hello, World!"
print(s[0:5]) # "Hello"
print(s[7:12]) # "World"
在上述示例中,s[::2]
每隔一个字符提取一次,而 s[::-1]
以步长-1反向提取字符,实现字符串的反转。
省略索引
当省略开始或结束索引时,Python会使用默认值。省略开始索引表示从序列的起始位置开始,省略结束索引表示到序列的末尾。
示例:
s = "Hello, World!"
print(s[:5]) # "Hello"
print(s[7:]) # "World!"
print(s[:]) # "Hello, World!" (整个字符串)
在上述示例中,s[:5]
提取从起始位置到索引4的字符,s[7:]
提取从索引7到末尾的字符。
切片对象
切片对象是通过 slice()
函数创建的,用于表示切片操作。切片对象可以用于在任何支持切片的对象中应用相同的切片。
示例:
s = "Hello, World!"
slice_obj = slice(0, 5)
print(s[slice_obj]) # "Hello"
lst = [1, 2, 3, 4, 5]
print(lst[slice_obj]) # [1, 2, 3, 4, 5]
在上述示例中,slice_obj
表示从索引0到索引4的切片。这个切片对象可以应用于字符串和列表,结果分别为 "Hello" 和 [1, 2, 3, 4, 5]
。
4. 序列内建函数
Python提供了一些内建函数,用于操作和处理序列。这些函数包括:
len()
:返回序列的长度。max()
:返回序列中的最大值。min()
:返回序列中的最小值。sum()
:返回序列中所有元素的和(适用于数字序列)。sorted()
:返回序列的排序副本。reversed()
:返回序列的反转迭代器。enumerate()
:返回序列中的元素和索引。
len()
函数
len()
函数用于返回序列的长度,即序列中元素的个数。
示例:
s = "Hello, World!"
print(len(s)) # 13
lst = [1, 2, 3, 4, 5]
print(len(lst)) # 5
tup = (1, 2, 3, 4, 5)
print(len(tup)) # 5
在上述示例中,len()
函数分别返回字符串、列表和元组的长度。
max()
函数
max()
函数用于返回序列中的最大值。对于字符串,max()
函数返回字典序中最大的字符。
示例:
s = "Hello, World!"
print(max(s)) # "r"
lst = [1, 2, 3, 4, 5]
print(max(lst)) # 5
tup = (1, 2, 3, 4, 5)
print(max(tup)) # 5
在上述示例中,max()
函数分别返回字符串、列表和元组中的最大值。
min()
函数
min()
函数用于返回序列中的最小值。对于字符串,min()
函数返回字典序中最小的字符。
示例:
s = "Hello, World!"
print(min(s)) # " "
lst = [1, 2, 3, 4, 5]
print(min(lst)) # 1
tup = (1, 2, 3, 4, 5)
print(min(tup)) # 1
在上述示例中,min()
函数分别返回字符串、列表和元组中的最小值。
sum()
函数
sum()
函数用于返回数字序列中所有元素的和。对于非数字序列,sum()
函数会抛出错误。
示例:
lst = [1, 2, 3, 4, 5]
print(sum(lst)) # 15
tup = (1, 2, 3, 4, 5)
print(sum(tup)) # 15
在上述示例中,sum()
函数分别返回列表和元组中所有元素的和。
sorted()
函数
sorted()
函数返回序列的排序副本。对于字符串,sorted()
函数返回字符按字典序排序的新列表。
示例:
s = "Hello, World!"
print(sorted(s)) # [' ', '!', ',', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r']
lst = [5, 3, 1, 4, 2]
print(sorted(lst)) # [1, 2, 3, 4, 5]
tup = (5, 3, 1, 4, 2)
print(sorted(tup)) # [1, 2, 3, 4, 5]
在上述示例中,sorted()
函数分别返回字符串、列表和元组的排序副本。
reversed()
函数
reversed()
函数返回序列的反转迭代器。
示例:
s = "Hello, World!"
print(''.join(reversed(s))) # "!dlroW ,olleH"
lst = [1, 2, 3, 4, 5]
print(list(reversed(lst))) # [5, 4, 3, 2, 1]
tup = (1, 2, 3, 4, 5)
print(list(reversed(tup))) # [5, 4, 3, 2, 1]
在上述示例中,reversed()
函数分别返回字符串、列表和元组的反转迭代器,并通过 list()
或 join()
方法将其转换为列表或字符串。
enumerate()
函数
enumerate()
函数返回序列中的元素和索引。
示例:
s = "Hello"
for index, char in enumerate(s):
print(f"{index}: {char}")
lst = ["a", "b", "c", "d"]
for index, value in enumerate(lst):
print(f"{index}: {value}")
在上述示例中,enumerate()
函数分别返回字符串和列表中的元素和索引。
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj