Python字符串操作方法

定义

可以使用双引号或者单引号定义。大多数编程语言字符串的定义都是使用双引号,那么一般也使用双引号,但是如果字符串中还有引用的话就使用双引号和单引号,比如:

str1 = "hello world"
str2 = "i wanna to say 'hello world'"
print(str2)
print(str1[6])

for c in str1:
    if c != " ":
        print c

字符串也可以使用索引获取一个字符串中指定位置的字符。

字符串的常用操作和方法

len(a):统计字符串长度
a.count(b):统计某个小字符串出现的次数
a.index(b):统计某个子字符串在字符串中出现的位置

判断类型:

isspace():判断字符串中是否包含空格,包含True;也可以检测\t,\n,\r这种空白字符。
isalpha():判断字符串中是否都是字母,包含True
isalnum():字符串至少有一个字符并且所有字符都是字母或数字则返回True
isdecimal():判断字符串是否只只包含数字,是则返回True,全角数字,python3.x的解释器有
isdight():只包含数字返回True,全角数字、(1)、\u00b2
isnumeric():只包含数字返回True,全角数字、汉字数字,python3.x的解释器有
“(1)“被称为unicode字符串,也可以写成”\u00b2”,isdight()、isnumeric()都返回True
istitle():如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.


大小写转换:

capitalize():把字符串的第一个字符大写
title():把字符串的每个单词首字母大写
lower():把所有大写转为小写
upper():把所有小写转为大写
swapcase():翻转字符串中的大小写


查找和替换

startswith(a):以子字符串开头返回Ture
endswith(a):以子字符串结尾返回True
find(a):是否包含子字符串,存在返回开始的索引值,不存在返回-1
index(a): 如果指定的字符串不存在就会报错。
replace(old,new):把原有的旧的子字符串换成新的子字符串;可以接收四个参数。返回值是新字符串,不会修改原有字符串的内容,相当于新建了一个变量存储新字符串。


字符串文本对齐:

ljust(width):返回一个原字符串左对齐并使用空格填充至长度为width的字符串。
rjust(width):返回一个原字符串右对齐并使用空格填充至长度为width的字符串。
center(width):返回一个原字符串居中并使用空格填充至长度为width的字符串。填充的空格一般都是英文的空格,中文空格填充的话可以传入中文空格。如:str.center(10," ")

拆分和连接:

split(str="",num):以str为分隔符拆分字符串,如果num指定值了,就仅分隔num+1个子字符串,str默认包含\r,\t,\n和空格。
join(seq):以字符串为分隔符,将seq的所有元素合并为一个新字符串。

str_list = str1.split("o")
print(str_list)

res_str = "o".join(str_list)
print(res_str)

字符串切片:切片的结果不包含结束索引的字符。如果想切片到最后一个字符,不指定结束索引即可。
字符串[开始索引:结束索引:步长]
倒序索引:-1,-2…
字符串的逆序:字符串[-1::-1]:从最后一个字符开始步长设置为-1就可以完成。开始索引也可以省略。

公共方法:

  • Python内置函数

    通过函数名就可以直接使用,不需要import
    比如:lenI() del() max() min() cmp(a,b):-1a小于b;0相等;1a大于b
    在Python中del有两种使用:1.关键字 2.函数 这两种方式效果一样

list1 = ["aaa","bbb","ccc"]
del list1[1]
del(list1[1])

字符串的比较符合ASCII码的值:“0”<“A”<“a”

  • 切片

    针对列表和元组也可以切片操作,因为切片是根据索引值来限定范围的;字典是一个无序的集合,用键值对来存储,所以不支持切片。

  • 运算符

    列表、元组、字符串支持运算符*进行重复;但是字典不可以,因为字典中key是唯一的
    列表、元组、字符串可以使用+进行拼接;对于列表而言,列表1.extend(列表2)相当于把列表二拼接在列表1后面,并存储在列表1中,append方法追加元素,如果方法中传入的是一个列表,那么会把这个传入的列表当做一个元素存在老列表里,并更新老列表,+操作完成之后会生成一个新的列表。

  • 成员运算符

    in和not in:是否包含在一个序列中;字典针对key,不能判断value。

    • 完整的for循环语法

      for 变量 in 集合:
      循环体代码
      else:
      没有通过break退出循环,循环结束之后,会执行的代码。
      如果有break就跳出循环体执行else下面的代码;

      利用for else搜索字典列表
      一旦把列表中所有的元素遍历完,不是通过break跳出的循环,else循环下方的代码才会被执行;如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标,还希望得到一个统一的提示就可以在else下面进行输出。
      通常识在迭代遍历潜逃的数据类型时,比如一个列表中包含了多个字典,需要判断某一个字典中是否存在指定的值的时候。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值