python数据结构中常用字符串操作函数

python中针对字符串的操作函数多种多样,如连接、比较、大小写转换、字符串计数函数等,下面列出python常用的字符串操作函数:

1、对字符串排序,由于字符串为不可变数据类型,因此需要把字符串转变为list(),然后进行排序

list1 = list(str1),python中排序函数有两种,sorted()和sort(),其中list1.sort()没有返回值,sorted(list1)有返回值

2、字符串()可以与列表()都可以转换为集合(),去除重复元素

set1=set(str1)

set2=set(str2)

3、以某种连接符连接字符串或者列表中的每一个元素,比如

newlist = ','.join(list1)

4、连接两个字符串

newlist = list1+list2

5、统计某个字符出现的次数

num = str1.count()

6、大小写转换函数及验证函数

小写转大写: str2 = str1.upper()

大写转小写:str2 = str1.Lower()

首字母大写:str2 = str1.Captialize()

小写验证:str1.islower()

大写验证:str1.isupper()

首字母是否大写:str1.istitle()

7、验证字符串是否全由数字或者字符或者二者混合组成

数字验证:str1.isdigit()

字母验证:str1.isalpha()

数字或者字母混合组成:str1.isalnum()

8、一个字符串是否包含另一个字符串:

str1.find(str2)

str1.index(str2)

二者都返回被包含字符串的索引,不同之处在于find函数如果没有查找到字符串的时候返回-1,index如果没有查找到字符串的时候报错

9.常用的其它函数还有

指定长度填充特定字符:center(length,填充字符串str1)

返回一个原字符串左对齐:ljust(length,填充字符串str1)

返回一个原字符串右对齐:rjust(length,填充字符串str1)

判断字符串是否以指定后缀结尾:endswith(...)

检测字符串是否只由空格组成:  isspace(...)

用于截掉字符串左边的空格或指定字符:lstrip(’指定的字符串‘)

删除 string 字符串末尾的指定字符(默认为空格):rstrip(...)

用于移除字符串头尾指定的字符(默认为空格)

    strip(...)

根据指定的分隔符将字符串进行分割(返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)

S.partition(sep) ->(head, sep, tail)

把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

S.replace(old, new[,count])

返回字符串最后一次出现的位置,如果没有匹配项则返回-1,S.replace(old, new[,count]) -> string

通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串

    S.split([sep [,maxsplit]])-> list ofstrings

用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg  end指定值,则在指定范围内检查。

    S.startswith(prefix[,start[, end]]) ->bool

按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

    S.splitlines(keepends=False)-> list ofstrings

返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

    S.title() -> string

根据参数table给出的表(包含 256 个字符)转换字符串的字符, 并返回翻译后的字符串要过滤掉的字符放到del 参数中

    translate(...)

    S.translate(table [,deletechars])->string

    语法:

      str.translate(table[, deletechars])

       table -- 翻译表,翻译表是通过maketrans方法转换而来。

      deletechars -- 字符串中要过滤的字符列表。

1
2
3
4
5
6
7
8
9
>>> from  string import  maketrans
suchas =  maketrans( 'sm' , '@$' )
>>> s =  'this is sam\'s dog'
>>> s
"this is sam's dog"
>>> s.translate(suchas)
"thi@ i@ @a$'@ dog"
>>> s.translate(suchas, 'dog' ) 去除d,o,g字符
"thi@ i@ @a$'@ "

最后:字符串与list有许多相似之处,两者都属于序列类型。因此,对属于序列的操作都适合两者,比如各种切片操作。

从0开始,右端不包括,list[-1]取列表中的最后一个元素,list中常用的两个函数是append()与sort(reverse=False)默认升序排列。

二者主要的不同在于字符串为不可变类型,列表为可变数据类型,因此可以直接对列表进行修改,如需对str进行修改,则需要重新生成新的str对象,无法对str进行直接的修改。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值