【python】之序列及其基本操作

简介: 序列是最基本的数据结构,它是一块用于存放多个值的连续内存空间。每个值(称为元素)都分配一个数字,被称为索引,通过索引可以取到相对应的值。如果把酒店比作一个序列,那么每个房间就是一个元素,而它们所对应的门牌号就相当于索引,可以通过门牌号找到对应的房间。

一、前言
1.序列
序列是最基本的数据结构,它是一块用于存放多个值的连续内存空间。每个值(称为元素)都分配一个数字,被称为索引,通过索引可以取到相对应的值。如果把酒店比作一个序列,那么每个房间就是一个元素,而它们所对应的门牌号就相当于索引,可以通过门牌号找到对应的房间。

python里常用的五个序列结构:列表、元组、集合、字典、字符串

集合、字典不支持索引、切片、相加、相乘操作

2.索引
序列中每个元素都有对应的下标,即索引。第一个元素的下标为0,第二个元素的下标为1,以此类推。

在python里,索引可以是负数,规则是,从右向左看,第一个元素(即从左向右看的最后一个元素)为-1,第二个元素为-2,以此类推。

总结:索引为正数是从0开始,负数从-1开始

3.切片
访问序列中元素的一种方法,可以通过它生成新的序列。

格式:

序列名称[start:end:step]

start:切片开始的位置(包括当前的位置),默认为0

end:切片的截止位置(不包括当前位置),默认为序列的长度

step:切片的步长,默认为1

举例

代码

s1=[1,2,3,4,5,6]
s2=[7,8,9]
print(s1[:])#复制整个s序列
print(s1[1:3])
print(s1[0:5:2])

执行结果
image.png

4.序列相加
支持两种相同类型(指的是序列的类型不是元素类型)的序列相加,使用加号实现

举例

代码

s1=[1,2,3,4,5,6]
s2=["zhangsan","lisi"]

print(s1+s2)#两序列相加
执行结果
image.png

5.序列相乘
使用一个数字n乘以一个序列会生成一个新的序列,新序列的内容为原序列重复n次的内容。

举例

代码

s1=[1,2,3,4,5,6]
print(3*s1)

运行结果
image.png

6.判断某个元素是否为某个序列的元素
格式:

元素 in 序列名称

存在为true,不存在为false

举例

代码

s1=[1,2,3,4,5,6]
print(3 in s1)

执行结果
image.png

7.计算序列的长度、最大值和最小值
序列的长度:len()

序列的最大值:max()

序列的最小值:min()

举例

代码

s1=[15,55,56,2,53,43,96,61]
print("序列为:",s1[:])
print("序列的长度为:",len(s1))
print("序列的最大值为:",max(s1))
print("序列的最小值为:",min(s1))

执行结果
image.png

相关文章
|
14天前
|
Python
【Leetcode刷题Python】376. 摆动序列
文章提供了解决LeetCode "摆动序列" 问题的Python实现代码,通过遍历整数数组并使用两个变量 down 和 up 来记录正差和负差摆动序列的长度,最终返回最长摆动子序列的长度。
25 0
|
11天前
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
25 1
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
11天前
|
机器学习/深度学习 数据采集 算法
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
本文介绍了一个基于Python的时间序列模型,用于分析和预测2021-2022年重庆地区的气温变化趋势,通过ARIMA和LSTM模型的应用,揭示了气温的季节性和趋势性变化,并提供了对未来气温变化的预测,有助于气象预报和相关决策制定。
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
|
14天前
|
Python
【Leetcode刷题Python】946. 验证栈序列
LeetCode题目“946. 验证栈序列”的Python解决方案,通过模拟栈的压入和弹出操作来验证给定的两个序列是否能通过合法的栈操作得到。
14 6
|
12天前
|
算法 Python
【Leetcode刷题Python】剑指 Offer 33. 二叉搜索树的后序遍历序列
本文提供了一种Python算法,用以判断给定整数数组是否为某二叉搜索树的后序遍历结果,通过识别根节点并递归验证左右子树的值是否满足二叉搜索树的性质。
10 3
|
13天前
|
Python
【Leetcode刷题Python】105. 从前序与中序遍历序列构造二叉树
LeetCode上105号问题"从前序与中序遍历序列构造二叉树"的Python实现,通过递归方法根据前序和中序遍历序列重建二叉树。
12 3
|
12天前
|
Python
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
本文介绍了如何通过观察均值和方差的变化、ADF单位根检验、KPSS检验以及差分操作来判定时间序列数据是否为平稳或非平稳,并提供了Python代码示例进行实际检验。
24 0
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
|
12天前
|
数据采集 算法 数据挖掘
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛B题的Python代码分析,涉及美国纽约公共自行车使用量的时间序列预测、网络分析和聚类分析。
21 0
【2023 年第二届钉钉杯大学生大数据挑战赛】 初赛 B:美国纽约公共自行车使用量预测分析 问题三时间序列预测Python代码分析
|
13天前
|
算法 Python
【Leetcode刷题Python】300. 最长递增子序列
LeetCode 300题 "最长递增子序列" 的两种Python解决方案:一种使用动态规划,另一种使用贪心算法结合二分查找。
23 1
|
13天前
|
Python
【Leetcode刷题Python】674. 最长连续递增序列
LeetCode 674题 "最长连续递增序列" 的Python解决方案,使用动态规划算法找出给定整数数组中最长连续递增子序列的长度。
30 0