3、字符串续集

作者: 魔方宫殿 | 来源:发表于2022-03-16 23:50 被阅读0次

    上集回顾:

    1. 初识字符串:单引号('……')或双引号("……")、三引号:"""...""" 或 '''...'''
    2. 字符串拼接:拼接数字、多次重复一个字符串
    3. 大小写转换:upper()、lower()、title()、capitalize()

    字符串的应用范围比较广泛,熟练使用print输出字符串也可以方便以后实际编程中调试程序,优美的输出可以更好的了解程序运行状态以及定位问题根源。所以这集还要继续发掘字符串的强大功能!接上集:
    四、字符串索引
    再次回到字符串本身,例如word = "Python"。如果想知道字母“y”在什么位置,或者字符串某个字母出现了多少次,某个单词出现了多少次?这就会用到字符串的索引功能。下标索引,第一个字符的索引是 0。

    >>> word = "Python"
    >>> word[0] #第一个字符的索引是0
    'P'
    >>> word[5] #第6个字符
    'n'
    

    索引还支持负数,用负数索引时,从右边开始计数:

    >>> word[-1] #最后一个字符
    'n'
    >>> word[-6] #倒数第6个字符
    'P'
    

    查找某个字符或者字符串在什么位置,可以用index函数:

    >>> word.index('y')
    1
    >>> word[1]
    'y'
    >>> word.index('h')
    3
    >>> word[3]
    'h'
    >>> word.index('a')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: substring not found
    

    可以发现如果查找不到的话,index函数会报错。为了避免出错,我们可以用“in”或者“not in”提前判断是否能够查找的到。

    >>> 'a' in word # False就是不存在,这时查找就会出错
    False
    >>> 'o' in word # True就代表存在,能够查找到
    True
    >>> 'a' not in word # not in 正好相反, 返回True代码不存在,此时查找会出错
    True
    >>> 'o' not in word # not in 返回False代表存在,能够查找到,不会出错
    False
    

    当然我们也可以用find函数进行查找,find函数查找不到时不会报错,会返回“-1”代表没有找到,这个“-1”可代表在最后一位:

    >>> word.find('h')
    3
    >>> word[3]
    'h'
    >>> word.find('a') #返回“-1”,代表没有查找到,不代表索引是“-1”。索引“-1”代表的是最后一位。
    -1
    >>> word[-1]
    'n'
    

    五、字符串切片
    切片的意思就是把字符串像面包一样切成一片一片的,或者一段一段的。前面下标索引理解透彻的话,切边就会很好理解。切片就是在下标的基础上加个冒号“:”,word[x:y]就代表从索引x切到索引y。

    >>> word[0:3]
    'Pyt'
    >>> word[:3] #冒号前面可以省略,代表从0开始
    'Pyt'
    >>> word[1:3]
    'yt'
    >>> word[3:] #冒号后面也可以省略,代表到最后一位
    'hon'
    

    切片同样也支持负数:

    >>> word[-5:-1]
    'ytho'
    >>> word[:-1] #冒号前面可以省略,代表从0开始
    'Pytho'
    >>> word[-5:] #冒号后面也可以省略,代表到最后一位
    'ython'
    

    通过切片就可以灵活地对字符串进行切割,负号可以巧妙的用在格式化时间上,比如把时分秒统一格式化成2位数显示,就可以写成:('0' + time)[-2:]。

    >>> ('0' + '0')[-2:]
    '00'
    >>> ('0' + '3')[-2:]
    '03'
    >>> ('0' + '9')[-2:]
    '09'
    >>> ('0' + '19')[-2:]
    '19'
    

    五、字符串替换

    replace替换函数

    示例:

    >>> word = 'Python'
    >>> word.replace('P', 'p')
    'python'
    >>> word = 'aaaaaaaaaaa'
    >>> word.replace('a', 'b')
    'bbbbbbbbbbb'
    >>> word.replace('a', 'b', 3) #最后一位数字可以控制替换次数
    'bbbaaaaaaaa'
    

    本集技能总结:

    1. 字符串下标索引
    2. 字符串切片,负数索引的妙用
    3. 字符串替换replace

    下集见!

    相关文章

      网友评论

        本文标题:3、字符串续集

        本文链接:https://www.haomeiwen.com/subject/rsbddrtx.html