美文网首页
获取字符

获取字符

作者: 匿隱 | 来源:发表于2018-12-27 18:57 被阅读0次

    1.获取当个字符

    字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位子。

    下标是从0开始依次增加的,0对应的是第一个字符:也可以是-1开始依次减少,-1代表最后一个字符

    例如:'hello' -> h->(0 , -5) e ->(1 , -4) l -> (2 ,-3) l -> (3 ,-2 ) o -> (4,-1)

    a.获取单个字符的语法:

    字符串[下标] - 获取字符串中指定下标对应的字符

    b.说明:

    字符串 - 只要结果是字符串的表达式都可以,

    例如:字符串子面量,字符串变量
    [] - 固定写法
    下标 - 需要获取的字符对应的下标;注意,这的下标不能越界

    print('how are you!'[12])  
    IndexError: string index out of range 报错原因:下标越界

    2.获取部分字符(字符串切片)

    方法一:

    a.语法:

    字符串[开始下标:结束下标:步长] - 从开始下标开始,获取到结束下标前为止。每次下标值加上步长取获取下一个

    b.说明:

    字符串 - 自要结果是字符串的表达式都可以, 例如:字符串字面量,字符串变量
    [] - 固定写法
    开始下标.结束下标 - 下标值 (这儿的下标可以越界,但是最好不要越界)
    步长 - 必须是整数(正数和负数都行); 如果步长是正数,是从开始下标开始从前往后获取;
    如果步长是负数,是从开始下标开始从后往前获取

    c.注意:

    当步长为正,要求开始下标对应的字符的位子必须在结束下标对应的位子的前面,否则结果是空的!
    当步长为负,要求开始下标对应的字符的位子必须在结束下标对应的位子的后面,否则结果是空串!

    不管怎么取,结束下标一定取不到!

    str1 = 'hello python'
    print('结果1:', str1[0:-1:2]) # 从前往后取
    print('结果2:', str1[-1:0:-2]) # 从后往前取
    print('结果3:', str1[-1:-100:-1]) # 结束下标越界
    print('结果4:', str1[100:-100:-1]) # 下标越界

    练习:获取一个字符串中所有下标是奇数的字符(顺序)

    num = '123456'
    print('123456的奇数(顺序):', num[0:100:2])

    方法二:省略步长

    字符串[开始下标:结束下标] - 步长就是1;从开始下标到结束下标前为止,一个一个的取!

    print('when i was young!'[2:6])

    方法三:(省略开始下标和结束下标)

    a.省略开始下标

    字符串[:结束下标:步长] - 当步长是正数,从字符串的第一个字符开始取到结束下标前为止;
    当步长是负数,从字符串的最后一个字符开始取到结束下标前为止

    b.省略结束下标

    字符串[开始下标::步长] - 当步长是正数,从开始下标开始取到字符串最后一个字符位置;
    当步数是负数,从开始下标开始取到字符串的第一个字符为止

    str3 = 'how do you do!'
    print(str3[:6], str3[:6:-1])
    print(str3[2:],str3[2::-1])
    print(str3[:])
    print(str3[::-1]) # 让字符串倒序

    相关文章

      网友评论

          本文标题:获取字符

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