• 003_字符串str的操作


    1,str-->bool(str转化成bool)
      s = ""--->False
      非空字符串转换成bool型,都是True
      s = "o"--->True
    2,字符串索引
      s = 'ABCDEFG'
      字符串有两种索引方式
          A B C D E F
      正向索引 0 1 2 3 4 5
      反向索引 -6 -5 -4 -3 -2 -1

    3,序列切片
      在python中序列的
      序列号可以从左至右数为0至7,从右至左数为-1至-8。
      序列的切片用 [start:end:step] 来取序列中的部分成员数据项。
      start 序号开始到 end 前一个结束,每间隔|step|-1个取一个成员step为负值是倒着取
    >>>alst = [0,1,2,3,4,5,6,7]
    >>>alst[:]
    [0,1,2,3,4,5,6,7]
    >>>alst[0:]
    [0,1,2,3,4,5,6,7]
    >>>alst[:-1]
    [0,1,2,3,4,5,6]
    >>>alst[2:5]
    [2,3,4]
    >>>alst[::-1]
    [7,6,5,4,3,2,1,0]
    >>>alst[5:0:-2]
    [5,3,1]
    4,大小写转化
    s = "colour"
    s1 = s.capitalize()     #首字母大写
    print(s1)           # Colour
    s2 = s.upper()      #全大写
    s3 = s.lower()      #全小写
    print(s2,s3)        # COLOUR colour
    

    5,大小写翻转

    s = "ColoUr"
    s4 = s.swapcase()
    print(s4)   #  cOLOuR
    

    6,每个隔开的单词首字母大写

    s = "alex*egon-wusir"
    s5 = s.title()
    print(s5)   #   Alex*Egon-Wusir
    

    7,在规定的长度中,内容居中,两边默认空白填充,可更改填充的内容

    s = 'colour'
    s6 = s.center(20,'填')  #填充一个字符
    print(s6)       #结果:填填填填填填填colour填填填填填填填
    

    8,将字符串中的tab( )输出

    s = 'co	lour'
    s7 = s.expandtabs()     #将字符串中的	不作字符输出,而是作为tab键输出
    print(s7)       #结果:co      lour
    

    9,求字符串的长度

    s = '字符串'
    c = len(s)
    print(c)
    

    10,判断字符串以什么开始或结束的

    #判断以什么开始
    s = 'colour'
    s8 = s.startswith('co')       #字符串是否以co开始的
    s81 = s.startswith('lo',2,4)  #字符串在范围内是否以lo开始的
    s82 = s.startswith('lou',2,4) #字符串在范围内是否以lou开始的
    print(s8,s81,s82)   #结果:True True False
    
    #判断以什么结束
    s83 =s.endswith('ur')   #可设置范围,方式同上
    print(s83)  #结果:True

    11,find(self, sub, start=None, end=None)通过元素找索引,找不到返回-1

    s = 'colour'
    s9 = s.find('o') #返回找到的第一个索引,可以切片
    print(s9)
    

    12,index(self, sub, start=None, end=None)通过元素找索引,找不到报错

    s = 'colour'
    s10 = s.index('o')  #返回找到的第一个索引,可以切片
    print(s10)
    

    13,strip() #删除字符前后的指定字符,默认删除前后的空格

      rstrip() #删除右侧的

      lstrip() #删除左侧的

    username = input('请输入:').strip()  #输入“    name     "
    if username == 'name':
        print('正确')
    

    14,数 字符串里有几个该元素 可设范围

      count(self, sub, start=None, end=None)

    s = 'colour'
    s11 = s.count('o')
    print(s11)
    

    15,split()以某字符分割字符串,并用列表保存

    • 默认以空格分割
    • 可设置最大分割次数
    s = 'al;re;wr;zj'
    s12 = s.split(';')
    s13 = s.split(';',2)    #设置最大分割次数
    print(s12)  #结果: ['al', 're', 'wr', 'zj']
    print(s13)  #结果:['al', 're', 'wr;zj']

    16,format()的三种玩法,格式化输出

    s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('name',20,'girl','name')
    print(s)
    s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('name',20,'girl')
    print(s)
    name = input('请输入')
    s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(name=name,age=20,hobby='girl')
    print(s)
    

    17,replace()将字符串中的某些字符替换成新的字符

    s = '但是看了就会反过来'
    s13 = s.replace('看了','读取')  #两个参数必须有
    print(s13)  #结果:但是读取就会反过来
    
    #可以设置替换的最大出现次数
    s = "aleX leNebe"
    s14 = s.replace('e','p',2)
    print(s14)  #结果:alpX lpNebe

    18,is系列

    name = 'colour123'
    print(name.isalnum())   #字符串由字母或数字组成
    print(name.isalpha())   #字符串只由字母组成
    print(name.isdigit())   #字符串只由数字组成
    

      

  • 相关阅读:
    zoj 4120Tokens on the Segments(优先队列+贪心)
    hdu1710 Binary Tree Traversals(二叉树)
    poj3494Largest Submatrix of All 1’s
    poj 2559Largest Rectangle in a Histogram(单调栈简单模板题)
    poj 2492 A Bug's Life(种类并查集)
    差分约束 + spfa + 最长路 [NOI1999] 01串
    Codeforces Round #599 D Yet Another Monster Killing Problem
    CF 1249D1
    [Gym-102346A] 偷偷偷 并查集处理图(坐标)
    [Gym-102346M] 二分答案
  • 原文地址:https://www.cnblogs.com/eternity-twinkle/p/10457348.html
Copyright © 2020-2023  润新知