zoukankan      html  css  js  c++  java
  • 5.字符串--索引--详解

    字符串-索引-详解

    一、字符串索引

    1.索引

    格式: 变量名[头标:下标:步长] 步长不写默认为1

    索引从左往右是以0开始,从右往左则以-1开始

    例:从左往右 输出变量中得索引值

    name = 'yang'
    # 索引  0123
    print(name[0])
    结果:
    y
    

    ​ 从右往左 输出变量中得索引值

    name = 'yang'
    # 索引 -4-3-2-1
    print(name[-1])
    结果:
    g
    

    2.切片

    例: 输出变量中 头标至下标这个区间的索引值,但不包含终止索引的值

    name = 'yang'
    # 索引  0123
    print(name[0:3])
    结果:
    yan
    

    3.步长

    步长为每次走的步,(有点像跨索引取值)

    例:

    name = 'helloword'
    #索引    012345678
    #从头标开始每次走两步的话,也就是取02468这些索引的值
    print(name [0:9:2])
    结果:
    hlood
    

    二、字符串详解

    1.大小写转换

    命令格式:

    • 换大写 :变量名.upper()
    • 换小写 :变量名.lower()
    换大写  例:
    a=yang
    a1=a.upper()
    print(a1)
    结果:
    YANG
    
    换小写  例:
    a=YANG
    a1=a.lower()
    print(a)
    结果:
    yang
    

    举例:让登录的验证码不区分大小写

    y_z_m = 'o98k'                                      #设置验证码
    y_z_m_input = input("请输入验证码(O98k)")             #用户输入验证码
    new_y_z_m_input = y_z_m_input.lower()               #将用户输入的字符串换成小写
    if y_z_m == new_y_z_m_input:                        
        user = input('请输入账号:')
        pwd = input('请输入密码:')
        if user == 'yang' and pwd == '8520':
            print('登陆成功!')
        else:
            print('登录失败')
    
    else:
        print('验证码错误!')
    

    2.判断以什么开头

    命令格式:

    ​ 变量名.startswith('要判断的字符串')

    ​ 变量名.startswith('要判断的字符串',上标,下标)

    例:  
    name = 'yang'
    new_name = name.startswith('y')              #判断是否为y开头,写入逻辑值
    if new_name:                                 #此处new_name的值为True
        print('是以y开头')
    # 判断这是不是字符串是不是以a开头的
    
    
    
    
    例:
    name = 'yang'                                #可用索引指定区间
    new_name = name.startswith('n',2,5)          #2和5分别为起始索引和终止索引
    if new_name:
        print('是以n开头')
    
    # 我们可以指定从哪个位置开始哪个位置结束
    

    3.判断以什么结尾

    命令格式:

    ​ 变量名.endswith('要判断的字符串')

    ​ 变量名.endswith('要判断的字符串',上标,下标)

    例:
    name = 'yang'
    new_name = name.endswith('g')
    if new_name:
        print('是以g结尾')
    # 判断这是不是字符串是不是以x结尾的
    
    name = 'yang'
    new_name = name.endswith('g',2,5)
    if new_name:
        print('是以g结尾')
    # 判断这是不是字符串是不是以x结尾的
    

    4.统计出现的次数

    命令格式:

    ​ 变量名.count('要判断的字符串')

    例:
    name = 'yanglang'
    new_name = name.count('a')
    print(new_name)
    
    # 统计name这个字符串中a出现的次数
    

    5.字符串替换

    命令格式:

    ​ 变量名.replace('被换','要换',换的个数)

    例:
    name = 'yanglang'
    new_name = name.replace('a','b',1)           #把name中的a换成b,其中1是替换的次数(替换的个数)
    print(new_name)
    结果:
    ybnglang
    # 替换字符串中的内容以外 我们可以指定要替换的次数
    
    
    例:
    name = 'yanglang'
    new_name = name.count('a')                    #统计a出现的次数(出现的个数)
    nw_name = name.replace('a','b',new_name)      #把所有的a替换成b,
    print(nw_name)
    

    6.去除的头尾两端的空格,换行符,制表符

    命令格式:

    ​ 变量名.strip()

    例:
    name = ' yanglang '                    # 注意!此处字符串两头是加了空格的
    new_name = name.strip()                # 默认去除的头尾两端的空格,换行符,制表符 也可以自己指定
    print(new_name)
    # 去除头尾俩遍的空格和换行符
    

    7.分割字符串

    命令格式:

    ​ 变量名.split(‘分割点’)

    ​ 变量名.split(‘分割点’,maxsplit=分割次数)

    例:
    name = 'yanglang'                        # 通过n将字符串name进行切割,将n作为切割点
    new_name = name.split("n")               # 默认以空格,换行符,制表符分隔
    print(new_name)
    结果:
    ['ya','gla','g']                         # 切割后的内容是一个列表,把字符串切割成列表
                                             # print(type(变量名))可以输出变量类型
    
    例:
    name = 'yanglang'
    new_name = name.split("n",maxsplit=1)    # 此处的1是切割次数(或者说是切割几个x)
    print(new_name)
    结果:
    ['ya','glang']
    

    8.字符串格式化

    例:
    name = 'yanglang{}{}'                         #这里的{}是占位符
    new_name = name.format('说的对','是的')         #可以按照顺序去填充,也可以按照索引去填充,也可以按照关键字填充
    print(new_name)
    
    
    

    9.is系列

    • 判断是否为十进制的数字 命令格式:变量名.isdecimal()
    例:
    name = 'yanglang'
    new_name = name.isdecimal()               #此处输入值为False
    print(new_name)
    
    # 判断是不是十进制的数字,返回结果是布尔值
    
    • 判断是否为数字、字母和中文 命令格式:变量名.isalnum()
    例:
    name = 'yanglang'
    new_name = name.isalnum()                
    print(new_name)
    
    # 判断是不是数字和字母以及中文,返回结果是布尔值
    
    • 判断是否为纯字母和中文 命令格式:变量名.isalpha()
    例:
    name = 'yanglang'
    new_name = name.isalpha()
    print(new_name)
    
    # 判断是不是纯字母和汉字,返回的是布尔值
    

    10.获取字符串长度

    命令格式:

    ​ len(变量名)

    例:
    name='yanglang'                  #字符串
    name1=['a','b',[1,2,3]]          #列表
    print(len(name))                 #结果为 8
    print(len(name1))                #结果为 3
    

    11.使用while循环打印单个元素

    例:
    name = "Meet"
    count = 0
    while count < len(name):
        print(name[count])           #将变量值作为索引,输出此索引的元素
        count = count + 1
    

    12.for 循环

    例:
    name = "Meet"
    for i in name:
        print(i)
    
    for i in "Meet":
        print(i)
    

    for循环, for是关键字 i是一个变量 后边的name是要被循环的内容,他会把这个name指向的字符串里的每个元素打印出来

    for循环是可以循环的数据结构:

    • 字符串(str)
    • 列 表(list)
    • 元 祖(tuple)
    • 字 典(dict)
    • 集 合(set)

    唯独不能进行循环的就是 整型(int)和布尔值(bool) #因为这两种数据结构都是单个值

    【补充】

    1.字符串首字母大写

    命令格式:

    ​ 字符串.capitalize()

    例:
    a='asd'
    a=a.capitalize()
    print(a)                                              #输出结果为 Asd
    
  • 相关阅读:
    Beta版本冲刺第二天
    项目冲刺-第十天
    项目冲刺-第五天
    用例图练习
    软件案例分析(微软必应词典客户端)
    第二次作业——结对项目之需求分析与原型模型设计
    git for windows 入门随笔
    软件工程的实践项目的自我目标
    Android的开发环境的发展演变
    我的软件工程实践的总结
  • 原文地址:https://www.cnblogs.com/yangte/p/13371252.html
Copyright © 2011-2022 走看看