python学习记录7

(1)序列和索引

序列是一个可以存放多个值的空间变量,这个空间中的每个值又有自己的编号,这些编号叫做索引。

索引分成正向索引和反向索引,正向索引的编号规则为:一个有n个值的序列的第一个值序号为0,第二个值为序号为1......第n个值序号为N-1。反向索引的编号规则为:一个有n个值的序列第一个值的序号为-N,第二个值序号为-(N-1)......第n个值序号为-1

字符串、列表、集合、字典、元组这五个数据类型都是序列。其中列表和元组叫做有序序列,字典和集合叫做无序序列;这四个数据类型又叫组合数据类型。

(2)对序列根据索引进行操作

以字符串为例子,设str是一个字符串变量,长度为N,正向索引用[i](0<=i<=len(s)-1)表示是这个字符串的第i个字符,那么str[0]是这个字符串第一个字符。

python 复制代码
#将输入的字符反向输出,例如输入abc输出cba
s = input()
i = len(s)-1
while i >=0:
    print(s[i],end="")
    i -=1

设str是一个字符串变量,长度为N,反向索引用[j](-N<=j<=-1)来表示这是这个字符串的第N+j+1个字符。

python 复制代码
#将输入的字符串进行大小写逆转,例如输入aBc输出AbC
s = input()
i = -len(s)
while i<=-1:
    if chr(97)<=s[i] and s[i]<=chr(122):
        print(chr(ord(s[i])-32),end="")
    elif chr(64)<=s[i] and s[i]<=chr(90):
        print(chr(ord(s[i])+32),end="")
    else:
        print(s[i])
    i+=1

(3)序列的切片操作

序列的切片就是访问序列中某个范围内的元素的方法,切片后的子空间可以作为新值赋给其他变量。其语法为序列[开始序号,结束序号,步长]。这个语法截取的子空间是左闭右开的,即包含开始序号对应的字符,但是不包含结束序号对应的字符,对应的是结束序号前面一个的字符。步长是指若步长为x,从开始序号(包括开始序号)开始,在(开始序号,结束序号)范围内,每隔x个序号取一个序号为(0+kx)的字符。

开始位置默认为0,步长默认为1。

python 复制代码
#截取字符串的一半
s = input()
i = len(s)//2
print(s[0:i:1])
#将输入的字符反向输出,例如输入abc输出cba
s = input()
print (s[::-1])

(4)序列的其他基本操作

序列除了可以索引和切片外,还有相加、数乘(很像线性向量的性质)、查找、查询、计算长度这些操作。例子如下,假设s1和s2是一个序列:

相加:s1+s2,得到的是s1与s2中的元素的并集序列空间

相乘:s1*k,将相当于s1相加k遍

查找:x in s1:查找s1中是否有x,有则输出为True,没有则为False

x not in s1:同上,只不过有则输出为False,没有则为True

max(s1):查找s1中值最大的元素

min(s1):查找s1中值最小的元素

查询:s1.index(x):查找s1中第一次出现x的位置

s1.count(x):查找s1中x的个数

python 复制代码
s = input()
x = input()
print(x,"在这个字符串中的个数为:",s.count(x))
print(s.index(x))
相关推荐
cosX+sinY7 分钟前
10 卷积神经网络
python·深度学习·cnn
非极限码农16 分钟前
基于Deepseek的语言润色助手API实现与部署指南
python·微服务·自然语言处理
今天会营业20 分钟前
学习Markdown
学习
I love studying!!!27 分钟前
python基础:用户输入和 while 循环
python
Yueeyuee_35 分钟前
【C#学习Day15笔记】拆箱装箱、 Equals与== 、文件读取IO
笔记·学习·c#
艾莉丝努力练剑1 小时前
【C/C++】类和对象(上):(一)类和结构体,命名规范——两大规范,新的作用域——类域
java·c语言·开发语言·c++·学习·算法
AndrewHZ1 小时前
【图像处理基石】如何对遥感图像进行实例分割?
图像处理·人工智能·python·大模型·实例分割·detectron2·遥感图像分割
No0d1es2 小时前
第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2021年11月27日真题
python·青少年编程·蓝桥杯·选拔赛
Emotion亦楠2 小时前
Java 学习笔记:常用类、String 与日期时间处理
java·笔记·学习
天天找自己2 小时前
精通分类:解析Scikit-learn中的KNN、朴素贝叶斯与决策树(含随机森林)
python·决策树·机器学习·分类·scikit-learn