Python序列通用操作详解:索引、分片与常用函数

向北走
向北走
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍Python中序列的六种通用操作:索引用于访问特定元素,分片通过切片语法获取子序列,序列相加合并同类型序列,乘法重复序列内容,成员资格检查元素存在性,以及使用len、min、max获取序列长度和最值。掌握这些操作是高效处理Python数据的基础。

Python序列基础概念

数据结构是指以某种方式组织在一起的数据元素的集合,这些元素可以是数字、字符,也可以是其他数据结构。在Python语言中,最基础的数据结构类型是序列(sequence)。序列中的每个元素都被分配了一个序号,也就是索引,用于标识元素的位置。需要注意的是,序列的第一个元素索引为0,第二个元素索引为1,依此类推。

Python内置了六种序列类型,分别是列表(list)、元组(tuple)、字符串(string)、Unicode字符串(unicode string)、缓冲区对象(buffer object)以及xrange对象。

所有序列类型都支持一组通用的操作,包括索引、分片、序列相加、乘法运算、成员资格检查、获取长度以及查找最小值和最大值。

序列通用操作详解

1. 索引操作

序列中的所有元素都拥有编号,从0开始依次递增。我们可以通过编号来访问序列中的特定元素。此外,Python支持从右向左进行索引,最右侧元素的索引为-1,向左依次递减。


>>> greeting='Hello' 
>>> greeting[2] 
'l' 
>>> greeting[-1] 
'o' 
>>> 'stringtesting'[3] #可以对任何一个字符串进行索引,该字符串的第三个索引为'i'字符 
'i' 
>>> fourth=raw_input('Year: ')[3] #可以对输入的字符串进行索引,这样对输入的字符串索引为3的感兴趣 
Year: 2014 
>>> fourth 
'4'  

索引与分片

2. 分片操作

索引用于访问单个元素,而分片(slice)则用于访问一定范围内的元素。分片通过两个由冒号分隔的索引值来定义边界。需要注意的是,分片结果包含第一个索引对应的元素,但不包含第二个索引对应的元素。


>>> number=[1,2,3,4,5,6,7,8,9,10] 
>>> number[2:4] #取索引为第二和第三的元素 
[3, 4] 
>>> number[-4:-1] #负数表明是从右开始计数 
[7, 8, 9] 
>>> number[-4:] #把第二个索引置空,表明包括到序列结尾的元素 
[7, 8, 9, 10] 
>>> number[:3] #同上,把第一个索引置空,表明包含序列开始的元素 
[1, 2, 3] 
>>> number[0:10:1] #默认在分片的时候,步长为1,这样指定步长为1,和默认的效果一样 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>>> number[0:10:2] #这里指定步长为2,这样就会跳过某些序列元素 
[1, 3, 5, 7, 9] 
>>> number[10:0:-1] #步长也可以是负数,但是第一个索引一定要大于第二个索引 
[10, 9, 8, 7, 6, 5, 4, 3, 2] 
>>> number[10:0:-2]  
[10, 8, 6, 4, 2] 

当使用正数步长时,Python会从序列头部开始向右提取元素,直到最后一个元素;若使用负数步长,则从序列尾部开始向左提取,直到第一个元素。

序列相加与乘法

3. 序列相加


>>> [1,2,3]+[4,5,6] 
[1, 2, 3, 4, 5, 6] 
>>> 'Hello '+'World!' 
'Hello World!' 
>>> [1,2,3]+'Hello' 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
TypeError: can only concatenate list (not "str") to list 

需要注意的是,虽然列表和字符串都属于序列类型,但尝试将它们直接相加会引发错误,因为它们是不同类型的数据,无法直接进行加法运算。

4. 乘法操作

将一个序列与数字x相乘,会生成一个新的序列。新序列由原序列的内容重复x次组成。


>>> 'python'*4 
'pythonpythonpythonpython' 
>>> [None]*4 #None为Python的内建值,这里创建长度为4的元素空间,但是什么元素也不包含 
[None, None, None, None] 

成员资格与统计函数

5. 成员资格检查

可以使用in运算符来检查某个值是否存在于序列中。如果存在,返回True;如果不存在,返回False。


>>> permission='rw' 
>>> 'r' in permission 
True 
>>> 'x' in permission 
False 

6. 长度、最小值和最大值

Python提供了三个内置函数:len、min和max。len函数返回序列中包含的元素数量;min函数返回序列中的最小元素;max函数返回序列中的最大元素。


>>> number=[2,3,4,5,6,7,8,9,10] 
>>> len(number) 
9 
>>> min(number) 
2 
>>> max(number) 
10 
>>> min(4,3,5) #函数的参数不用一定是序列,也可以是多个数字 
3 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。