Python的字符串与序列

字符串

字符串的本质是:字符序列。
python的字符串是不可变的。我们无法对原字符串进行任何修改,只能将字符串的一部分复制到新建的字符串。
使用内置函数ord()可以把字符转化成对应的Unicode码
使用内置函数char()可以把十进制数字转化成对应的字符
创建字符串:
我们可以通过单引号或者双引号创建字符串, 使用两种引号的好处是可以创建本身就包含引号的字符串,而不是使用转义字符。
空字符串:
python允许空字符串的存在,不包含任何字符且长度为0
len函数:
len()用于计算字符串含有多少

序列

在python中有这样一种类型,他们的成员有序排列,并且可以通过下标偏移量访问到他们的一个或几个成员,类似于C语言中的数组,这类python类型就统称为序列。
成员关系操作符(in,not in)可以用来判断元素是否属于某个序列,结果返回布尔值
例:
l = [1,2,3,4,5]
2 in l
True
连接操作符(+)能够将两个相同类型的序列做连接
重复操作符(*),将一个序列复制多份
切片操作,按照你的意愿访问序列的多个元素([beg?step])其中beg是你想取的序列的起始下标,end是你要取到哪里为止,也就是终止下标,但end这个下标你是取不到的,step就是你取得时候移动的步长,即隔多少个取一个,总而言之就是在[beg,end)这个左开右闭的区间内隔step个取一个值。

序列的种类:字符串 列表 元组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python字符串求子序列可以通过递归方法来实现。具体做法如下: 首先,编写一个函数 `find_subsequence(s, subsequence)`,其中 `s` 表示原始字符串,`subsequence` 表示当前找到的子序列。函数的作用是找到字符串 `s` 中的所有长度大于等于1的子序列。 在函数内部,分别考虑两种情况:当前字符 `s[0]` 参与子序列和不参与子序列。 1. 如果当前字符 `s[0]` 参与子序列,将其加入到 `subsequence` 中,并递归调用 `find_subsequence(s[1:], subsequence + s[0])`,即在剩余的字符串中寻找子序列。 2. 如果当前字符 `s[0]` 不参与子序列,直接递归调用 `find_subsequence(s[1:], subsequence)`,即在剩余的字符串中寻找子序列。 需要注意的是,递归调用 `find_subsequence` 时,需要传递更新后的 `s` 和 `subsequence`。 在递归的过程中,需要判断以下结束条件: 1. 当字符串 `s` 的长度为0时,表示已经遍历完了原始字符串,将 `subsequence` 加入到结果列表中。 2. 当字符串 `s` 的长度为1时,表示只剩下一个字符了,此时需要将当前字符加入到 `subsequence` 中,并将 `subsequence` 加入到结果列表中。 最后,在主程序中调用 `find_subsequence` 函数,并打印结果列表即可完成字符串求子序列的操作。 需要注意的是,这种方法可能会产生大量的重复子序列,因此可以使用集合(set)来存储结果,避免重复。另外,也可以对结果进行排序,使得结果按照一定的顺序输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值