美文网首页
字符串(三)

字符串(三)

作者: 5f2a6061653d | 来源:发表于2019-01-10 10:49 被阅读30次

    字符串的索引与分片

    字符串可以通过运算符[]进行索引与分片,字符串中每个字符都对应两个编号(也称下标),如下图所示。


    字符串下标

    在上图中,字符串str正向编号从0开始,代表第一个字符,依次往后;字符串str负向编号从-1开始,代表最后一个字符,依次往前。因为编号可正可负,所以字符串中的某个字符可以有两种方法索引,例如索引str中字符'q',具体示例如下:

    str[4]
    str[-9]
    

    上述两种形式都可以索引到字符'q'。

    字符串分片是指从字符串中截取部分字符并组成新的字符串,并不会对原字符串作任何改动,其语法格式如下:

    [起始编号:结束编号:步长]
    

    该语句表示从起始编号处开始,以指定步长进行截取,到结束编号的前一位结束。

    接下来演示字符串的分片,如下所示。

    1 str = "www.sunyu.com"
    2 print(str[4:9]) # 默认步长为1
    3 print(str[4:9:2]) # 设置步长为2
    4 print(str[-9:-4]) # 默认步长为1
    5 print(str[-9:-4:2])  # 设置步长为2
    6 print(str[:]) # 整个字符串
    7 print(str[:9]) # 等价于str[0:9:1]
    8 print(str[4:]) # 默认到字符串尾部(包括最后一个字符)
    9 print(str[:-9]) # 从第一个字符到编号为-9的字符(不包括编号为-9的字符)
    10 print(str[-4:]) # 从编号为-4的字符到最后一个字符(包括最后一个字符)
    11 print(str[::-2]) # 从后往前,步长为2
    12 print(str[:-9]) # 从第一个字符到编号为-9的字符(不包括编号为9的字符)
    

    运行结果如下图所示。


    运行结果

    在上例中,每种形式中第一个冒号两边表示分片从何处开始及到何处结束,第二个冒号后表示步长。在实际编程中,字符串的处理经常会用到分片,大家应灵活运用各种形式。

    字符串的运算

    除了数字类型的数据可以参与运算外,字符串也可以参与运算,如上节中字符串通过[]运算符进行索引与分片,具体如下表所示。

    运算符 说明
    + 字符串连接
    * 重复字符串
    [] 索引字符串中的字符
    [:] 对字符串进行分片
    in 如果字符串中包含给定字符,返回True
    not in 如果字符串中包含给定字符,返回False
    r或R 原样使用字符串

    接下来演示字符串的运算,如下所示。

    1 str1, str2 = "隼", "鱼"
    2 print(str1 + str2)
    3 print(3 * (str1 + str2))
    4 if "sunyu" in "sunyu.com":
    5     print("sunyu is in sunyu.com")
    6 else:
    7     print("sunyu is not in sunyu.com")
    

    运行结果如下图所示。


    运行结果

    在上例中,第2行输出两个字符串相加的结果,第3行输出两个字符串相加并重复3次的结果,第4行判断字符串sunyu .com中是否包含sunyu 。

    相关文章

      网友评论

          本文标题:字符串(三)

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