字符串与序列

一.字符串
1.字符串的内置方法

capitalize()把字符串的第一个字符改为大写
casefold()把整个字符串所有的字符改为小写
center(width)将字符居中,并使用空格填充至长度width的新字符串
count(sub[,start[,end]])返回sub字符在字符串里出现的次数,start和end参数表示范围,可以不选
endswith(sub[,start[end]])检查字符串是否以sub字符结束,如果是返回True,否则返回False,范围参数可以不选
expandtabs([tabsize=8])把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8
find(sub[,start[,end]])检测sub是否包含在字符串中,如果有返回索引值,否则返回-1,范围参数可以不选
index(sub[,start[,end]])与find一样,不过如果sub不在字符串中则会产生一个异常
isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdecimal()如果字符串中只包含十进制数字则返回True,否则返回False
isdigit()如果字符串中只包含数字则返回True,否则返回False
islower()如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False
isnumeric()如果泽夫窗中字包含数字字符,则返回True,否则返回False
isspace()如果字符串中只包含空格,则返回True,否则返回False
istitle()如果所有单词都是以大写开始,其余字母为小写,则返回True,否则返回False
isupper()如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False
join(sub)以字符串作为分隔符,插入到sub所有字符之间
ijust(width)返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串
lower()转换字符串中所有大写字符为小写
istrip()去掉字符串左边的所有空格
partiton (sub)找到字符串sub并把字符串分成三个元组,如果字符串不包含sub则返回(‘原字符串’,‘ ’,‘ ’)
replace(old,new[,count])把字符串中的old字符串替换为new字符串,如果count指定,则替换不超过count次
rfind(sub[,start[,end]])类似find,不过是从右边开始
rindex(sub[,start[,end]])类似于index,不过是从右边开始
rjust(width)右对齐
rpartition(sub)类似于partition,不过从右边开始
rstrip()删除字符串末尾的空格
split()若没有参数,则以空格为分隔对字符串进行切片,并以列表的形式返回,若有参数,则以参数为分隔
startswith(prefix[,start[,end]])检查字符串是否以prefix开头,是则返回True,否则返回False
strip([chars])删除字符串前后所有空格,若指定chars参数则删除指定的参数
swapcase()翻转字符串中的大小写
title()返回标题化的字符串
upper()转换字符串中的所有小写字符为大写
zfill(width)返回长度为width的字符串,原字符串右对齐,前面用0填充
translate(table)根据table规则(可以由str.maketrand(‘a’,‘b’定制)转换字符串中的字符)

2.字符串的格式化
(1).format方法

'{0} love {1}'.format('i','you')#运用位置参数
'i love you'
'{a} love {b}'.format(a='i',b='you')#运用关键字参数
'i love you'

也可以位置参数和关键字参数同时使用,但必须位置参数在关键字参数之前。
(2).字符串格式化符号含义

%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%f格式化定点数,可指定小数点后的精度
%e用科学计数法格式化定点数
%E同上,不过显示为大写
%g根据值的大小决定使用%f或%e
%G同上,不过显示为大写
'%c'%97
'a'
'%c %c %c'%(97,97,97)#引用多个必须使用元组
'a a a'
'%s'%'i love you'
'i love you'

(3)格式化操作符辅助指令

m.nm为显示最小总宽度,n为小数点后的位数
-用于左对齐
+在正数前加+号
#在八进制前显示0o,在十六进制前显示0x或0X
0显示的数字前面填充‘0’取代空格

二.序列
列表,元组和字符串的合称叫作序列
(1)list()
如果不带参数则生成一个空列表,如果带参数,可以把字符串,元组转换为列表
(2)len()
作用是返回字符的长度
(3)max()
可以有多个参数,并返回最大的数,也可以返回字符,但是按照ASCII码值来返回,参数也可以是元组和列表
(4)min()
同上,只不过返回最小的数
(5)sum()
有两个参数,第一个参数为元组或列表并将元素相加,第二个参数可以不填,如果填了则将填入的参数加到前面计算的和,最后返回求出的和
(6)sorted()
参数为一个列表或元组,并按从小到大的顺序排列元素,并返回一个列表

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值