zoukankan      html  css  js  c++  java
  • python-day02数据类型-字符串和列表的操作

      while循环:

       while True:

          条件语句。。。。。。。

       关于break和continue,break:跳出当前的循环

                                     contnue:跳出当次循环,继续下一次循环

         

     一、数据类型

      变量:用来记录状态的变化

      变量值的变化即状态的变化,程序运行的本质就是来处理一系列状态的变化

      基础数据类型:数字 字符串 列表 元组 字典

      1、数字

        十进制:10

        八进制数字:oct(10)  将10转化为八进制数字输出

                 

        十六进制:hex(10)

        2、布尔值

        注意:非0数字自带的布尔值都是true

           非空字符串自带的布尔值都是true

          3、字符串

        字符串的内置方法:

         传参两种方法:    

    name='songxiaonande'
    age=20
    print('姓名:%s'% name )
    print('{0}{1}'.format('song','xiao'))
    print('{name}'.format(name='songxiaona'))

           ①针对字符串的单个字符

    1 print(name[3]) #打印指定下标对应的字符
    2 print(name.count('0'))#对要查找的字符计数
    3 print(name.count('b',0,3))????????????

                       查找某字符的下标:

    1 name='songxiaonan'
    2 print(name.find('o'))
    3 print(name.index('a')

             find和index的区别:

         find如果查找到指定的字符的下标,则返回值为-1,程序继续执行

        index如果查找不到指定字符的下标,则报错,不再执行程序
     
    ②字母大小写
    print(name.capitalize()) #首字母大写
    print(name.lower()) #将所有字母小写
    print(name.upper()) #将所有字母大写
    print(name.islower())#判断是否所有字母都是小写
    # print(name.isupper())#是否全都是大写
       ③指定字符宽度,输出格式
    print(name.center(20,'*')) #指定宽度,并将内容居中,剩余字符用‘*’填充
    print(name.ljust(40,'_')) #左对齐
    print(name.rjust(40,'+')) #右对齐
    #以上三行代码的输出:
        #*******abc23********
        #abc23___________________________________
        #+++++++++++++++++++++++++++++++++++abc23

              ④对字符串进行判断

    print(name.isalpha())#是否全是字母
    print(name.isalnum())#是否包含字母数字
    print(name.isdigit())  #是否是整型数字
    print(name.isnumeric())#是否是数字
    print(name.isidentifier())#是否包含关键字
    print(name.isspace())#是否是空格
    print(name.istitle())#是否是标题(每个单词首字母大写)
    print(name.endswith('a'))   #字符串以什么结尾

        

       ⑥字符串的切片

        字符串也可以看成是一种list,每个元素是一个字符,只是切片的结果也是一个字符串

    print(name.zfill(20))#指定字符宽度是20,字符号右对齐,昨天中0    相当于rjust(20,'0')
    print(name.rjust(20,'0'))
    print(name[0:3])#从下标为0的字符开始到下标为3的字符,但是不包含下标为3的字符   顾头不顾尾
    print(name[0:])#从下标为0的字符开始到最后
    print(name[:])#全切
    print(name[0:-1])#-1代表最后一个字符
    print(name[0::2]) # 2代表不长  每2个进行取值
    print(len(name))# 打印字符串的长度

       ⑦maketrans  创建字符映射转换表

    name='songxiaonan'
    table=str.maketrans('song','1234')#前创建一个映射表(翻译表),‘song’要翻译的字符串    ‘1234’代表翻译成啥
    print(name.translate(table))

       ⑧strip()  删除指定字符

    1 name='                 1abc   宋231                   '
    2 print(name.lstrip())#去左边(开头)的空格
    3 print(name.rstrip())#去右边(结尾)的空格
    4 print(name.strip())#去除开头和结尾的空格
    5 
    6 name1='12345681'
    7 print(name1.strip('13')) # 只要开头或者结尾中有1或者3就删除掉

       ⑨指定字符串中空格的长度

     name1="song	f"
     print(name1.expandtabs(10))#指定空格的长度
           print(round(3.5))   四舍五入

      四、列表

          定义列表   list=[] 空列表

                             list=['song','xiao','nan',22,1]

               1、增(追加和插入)

    students=['songxiaonan','yanglin','yangmi','huojianua','linxinru']
    students.append('111111111111111')#追加
    students.insert(1,'99999999999999999')   #插入   注意:同时只能插入一个数据    1代表在下标为1的字符之前插入数据

        2、删(3中方式)

    students.remove('yanglin')# 直接删除指定字符
    del students[0]#根据下标删除
    students.pop(1)#  根据下标删除,删除并返回值  如果不指定下标,则默认删除最后一个值

        3、改 

    students[1]='00000000000000000'

        4、查

                   ①切片(同字符串的切片)

            ②查找指定字符的下标  index

          如果列表中有两个相同的字符串,通过index查找只会返回查找到的第一个字符的下标

    #如果一个列表name里面有两个'xixi',查找第二个xixi     (这种查找无意义)
    name=['0',1,'haha',3,'xixi',99,'xixi']
    num1=name.index('xixi')
    num2=num1+name[num1+1:].index('xixi')+1
    print(num2)

        5、复制

    students3=students.copy()
    students4=students
    print(students3)
    print(students4)
    #注意:复制之后的变量有一个自己的内存地址    students4的内存地址和students的内存地址是一样的,相当于一个别名
    print(id(students),id(students3))
    print(id(students),id(students4))
    #输出结果:13835144 13854536
    #        13835144 13835144
    
    #如果此时对students做操作,则students3不变,但是students4会跟着students变化

        6、其他用法

    #计数
    students.count('huojianua')
    
    #合并两个列表
    students2=['77','88']
    students.extend(students2)
    print(students)
    
    #反转
    students.reverse()
    #排序   按照ASCTT码进行排序
    students.sort()

    小知识点:

       1、打印列表中的值的时候,输入编号:enumerate       

    for i,ele in enumerate(shop_item):
            print(i,ele[0],ele[1])

     2、使打印出来的值,高亮

    students=['songxiaonan','yanglin','yangmi','huojianua','linxinru']
    print('33[43;31m %s 33[0m'%students) #格式:33[底色;字体颜色 字符串 33[0m

      以上代码的输出

        字背景颜色范围:40----49 

      40:黑 

      41:深红 

      42:绿 

      43:黄色 

      44:蓝色 

      45:紫色 

      46:深绿 

      47:白色 

      字颜色:30-----------39 

      30:黑 

      31:红 

      32:绿 

      33:黄 

      34:蓝色 

      35:紫色 

      36:深绿 

      37:白色 

      

             

     

         

          

               

               

  • 相关阅读:
    判断广播是否已注册
    Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
    Android BroadcastReceiver 注册和反注册
    关于Android TaskAffinity的那些事儿
    文件读取方法(FileHelpers) z
    FileHelpers 用法 z
    tdf sample
    打开文件
    async/await 异步编程
    使用Topshelf创建Windows服务
  • 原文地址:https://www.cnblogs.com/songxiaonan/p/5986238.html
Copyright © 2011-2022 走看看