zoukankan      html  css  js  c++  java
  • 15期day06 字符串与列表的常用操作

    基本数据类型:

     1:int类型定义:age=int(10)

     名字(参数)

     类型转换:res=int('100010') 纯数字字符串转为int

     名字(参数)

    字符串类型:

     定义:msg='hello'

    类型转换:str可以把任意类型转成字符串

     1.:优先掌握:

     1、1:按索引值取(正向取+反向取),只能取

    msg='hello world'

     正向取:print(msg[0])

     反向取;print(msg[-1])

    只能取:msg[0]='H'(不能改)

    1、2:切片:索引的拓展应用,熊一个大字符串中拷贝一个子字符串

     msg='hello world'

     顾头 不顾尾

     res=msg[0:5]

     步长:

     res=msg[0:5:2]# 0 2 4

     反向步长:

     res=msg[5:0:-1]

     res=msg[:] == res=msg[0:5]

     print(len(msg))#统计字符的个数

    1.3移除字符串两侧的多余的符号strip:默认去除多余空格

     msg='***jdhhebf***'

     msg.strip()

    print(msg.strip) or input().strip()

     1.4切分split:把一个字符按照某种分隔符进行切分,得到一个列表

    #默认分隔符是空格

     info='egon:18:male'

     res=infp.split

     print(res)

     默认分隔符是空格

    指定分隔次数(了解)

    1.7循环

     for x in "hello 你好":

       print(x)

    #2:需要掌握:

     1、strip,lstrip,rstrip

     2、lower,upper(改为小写或者大写)

     msg='AbbbCCCC'

     print(msg.lower())

    #3、starswith.endswith(以什么开始,以什么结束)

    4.format,格式化字符串:format的三种玩法

     print("my name is %s %s" % ("egon",18))

     print("my name is {} {}".format("egon",18))

    print("my name is {x} {y}".format(y=18,x="egon"))

     print("my {1}name is {0} {0}{1}{1}".format("egon",18))

    x='egon'

     y=18

     print(f"=====>{x}===>{y}")

     5:split,rsplit(r为改变从右往左切,将字符串切成字符串)

     6、join:把列表拼接成字符串(以某种分隔符)

    l='egon','16','male'

     ':'.join(l) (用':'来拼接)

     7、replace(替换参数)

     msg='you can you up no can no bb'

     print(msg.replace('you','YOU')

     8.isdigit:判断字符串是否由纯数字组成

    --------------------------------------------------------------------------------

     列表:在[]内用逗号分隔开多个类型的值#

      用途:按照位置存多个值

     l=[111,3.1,'abc',[]]

     list(传入的是任意能够被for循环遍历的类型)

    :常用操作、内置方法:

     1、按照索引存取值:(正向+反向取):可以改也可以取

    l=[111,222,333,444,555]

     l[5]=666#超出索引范围则报错,即不能为列表增加值

     2、切片(顾头不顾尾,步长)

     l=[111,222,333,444,555]

     res=l[0:3]

     print(res)

     print(l)

     3、长度len()

     4/成员运算in和not in

     l=[111,222,333,444,555]

     print(111 in l)

     print(111 not in l)

     5、追加:

     l.append(666)

     print(l)

    5.1 往指定位置前插入值insert

    l.insert(0,123123231231)

     print(l)

     6、删除

     del l[0] #通用删除

     print(l.remove('111')) #l专属删除方法之指定元素删除

    print(l.pop) #默认删除索引-1的值、可以返回所删除的值

     res=l.pop(1)

     print(l)

     print(res)

    7、循环

     l=[111,"aaa",222,333,444,555]

     for item in l:

         print(item)

    需要了解的操作:

    # 1.find,rfind,index,rindex,count

    # 1.1 find:从指定范围内查找子字符串的起始索引,找得到则返回数字1,找不到则返回-1

    >>> msg='tony say hello'

    >>> msg.find('o',1,3) # 在索引为1和2(顾头不顾尾)的字符中查找字符o的索引

    1  

    # 1.2 index:同find,但在找不到时会报错

    >>> msg.index('e',2,4) # 报错ValueError

    # 1.3 rfind与rindex:略

    # 1.4 count:统计字符串在大字符串中出现的次数

    >>> msg = "hello everyone"

    >>> msg.count('e') # 统计字符串e出现的次数

    4

    >>> msg.count('e',1,6) # 字符串e在索引1~5范围内出现的次数

    1

    # 2.center,ljust,rjust,zfill

    >>> name='tony'

    >>> name.center(30,'-') # 总宽度为30,字符串居中显示,不够用-填充

    -------------tony-------------

    >>> name.ljust(30,'*') # 总宽度为30,字符串左对齐显示,不够用*填充

    tony**************************

    >>> name.rjust(30,'*') # 总宽度为30,字符串右对齐显示,不够用*填充

    **************************tony

    >>> name.zfill(50) # 总宽度为50,字符串右对齐显示,不够用0填充

    0000000000000000000000000000000000000000000000tony

    # 3.expandtabs

    >>> name = 'tony hello' # 表示制表符(tab键)

    >>> name

    tony hello

    >>> name.expandtabs(1) # 修改 制表符代表的空格数

    tony hello

    # 4.captalize,swapcase,title

    # 4.1 captalize:首字母大写

    >>> message = 'hello everyone nice to meet you!'

    >>> message.capitalize()

    Hello everyone nice to meet you!  

    # 4.2 swapcase:大小写翻转

    >>> message1 = 'Hi girl, I want make friends with you!'

    >>> message1.swapcase()  

    hI GIRL, i WANT MAKE FRIENDS WITH YOU!  

    #4.3 title:每个单词的首字母大写

    >>> msg = 'dear my friend i miss you very much'

    >>> msg.title()

    Dear My Friend I Miss You Very Much 

    # 5.is数字系列

    #在python3中

    num1 = b'4' #bytes

    num2 = u'4' #unicode,python3中无需加u就是unicode

    num3 = '四' #中文数字

    num4 = 'Ⅳ' #罗马数字

    #isdigt:bytes,unicode

    >>> num1.isdigit()

    True

    >>> num2.isdigit()

    True

    >>> num3.isdigit()

    False

    >>> num4.isdigit() 

    False

    #isdecimal:uncicode(bytes类型无isdecimal方法)

    >>> num2.isdecimal() 

    True

    >>> num3.isdecimal() 

    False

    >>> num4.isdecimal() 

    False

    #isnumberic:unicode,中文数字,罗马数字(bytes类型无isnumberic方法)

    >>> num2.isnumeric() 

    True

    >>> num3.isnumeric() 

    True

    >>> num4.isnumeric() 

    True

    # 三者不能判断浮点数

    >>> num5 = '4.3'

    >>> num5.isdigit()

    False

    >>> num5.isdecimal()

    False

    >>> num5.isnumeric()

    False

    '''

    总结:

        最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景

        如果要判断中文数字或罗马数字,则需要用到isnumeric。

    '''

    # 6.is其他

    >>> name = 'tony123'

    >>> name.isalnum() #字符串中既可以包含数字也可以包含字母

    True

    >>> name.isalpha() #字符串中只包含字母

    False

    >>> name.isidentifier()

    True

    >>> name.islower() # 字符串是否是纯小写

    True

    >>> name.isupper() # 字符串是否是纯大写

    False

    >>> name.isspace() # 字符串是否全是空格

    False

    >>> name.istitle() # 字符串中的单词首字母是否都是大写

    False

    --------------------------------------------------------------------------------

    --------------------------------------------------------------------------------

    需要掌握的操作

    l=[111,222,111,111]

    print(l.count(111))

    l = [10, -1, 3, 2, 11, 7]

    l.sort(reverse=True)

    print(l)

    l = [10, -1, 3, 2, 11, 7]

    l.clear()

    print(l)

    l=['a',1,'b']

    l.reverse()

    print(l)

    l=[11,22,33]

    l.extend([444,555,66])

    print(l)

    #

    l.append([444,555,666])

    print(l)

    # l1=[11,22,33]

    l1列表内存存储

    索引0 值11的内存地址

    索引1 值22内存地址

    索引2 值33内存地址

    l2=l1.copy() # 等同于l4=l1[:]

    l2列表内存存储

    索引0 值11的内存地址

    索引1 值22内存地址

    索引2 值33内存地址

    l2[0]=4444

    print(l2) # [4444, 22, 33]

    print(l1) # [11, 22, 33]

    l3=l1

    l3[0]=4444

    print(l3)

    print(l1)

  • 相关阅读:
    python语法_1基础语法概述
    Pytest用例编写1
    Pytest介绍
    9、Selenium grid2
    虫师Selenium2+Python_8、自动化测试高级应用
    虫师Selenium2+Python_7、unittest单元测试框架
    虫师Selenium2+Python_6、Selenium IDE
    虫师Selenium2+Python_5、自动化测试模型
    虫师Selenium2+Python_4、webdriver API
    虫师Selenium2+Python_3、Python基础
  • 原文地址:https://www.cnblogs.com/suyuanyuan/p/13068199.html
Copyright © 2011-2022 走看看