zoukankan      html  css  js  c++  java
  • Python学习之路_day_04(字符串与列表的内置方法)

    一、字符串内置方法的基本使用
    1 用途:记录描述性的状态,比如人的名字、地址、性别

    2 定义方式:在"",'',""""""内包含一系列的字符
    msg='hello' #msg=str('hello')
    res1=str(1)
    res2=str([1,2,3])
    print(type(res1),type(res2))
    info="'xxx'"

    3 常用操作+内置的方法
    优先掌握的操作:
    1、按索引取值(正向取+反向取) :只能取
    msg='hello world'
    print(msg[4])
    print(msg[-1])
    msg[3]='A'
    name='egon'

    2、切片(顾头不顾尾,步长)
    msg='hello world' # 就是从一个大的字符串中切分出一个全新的子字符串
    print(msg[0:5])
    print(msg) # 没有改变原值

    print(msg[0:5:1])
    print(msg[0:5])
    print(msg[0:5:2]) #hlo

    了解:
    print(msg[0:5:1])
    msg='hello world'
    print(msg[5:0:-1])
    print(msg[5::-1])
    print(msg[-1::-1])
    print(msg[::-1])

    3、长度len
    msg='hello world'
    print(len(msg))

    4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
    print('alex' in 'alex is dsb')
    print('dsb' in 'alex is dsb')
    print('sb' in 'alex is dsb')
    print('xxx' not in 'alex is dsb') # 推荐
    print(not 'xxx' in 'alex is dsb')

    5、去掉字符串左右两边的字符strip,不管中间的

    user='      egon       '
    user='   x   egon       '
    user="*******egon********"
    user=" **+*  */***egon*  **-*****"
    print(user.strip("* +/-"))

    user=input('>>>: ').strip()
    if user == "egon":
        print('用户名正确')

    6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值

    msg="root:123456:0:0::/root:/bin/bash"
    res=msg.split(':')
    print(res[1])

    cmd='dowload|a.txt|3333333'
    cmd_name,filename,filesize=cmd.split('|')

    7、循环
    msg='hello'
    for item in msg:
        print(item)

    二、字符串的内置方法

    需要你掌握的
    1、strip,lstrip,rstrip
    print('*****egon*****'.lstrip('*'))
    print('*****egon*****'.rstrip('*'))
    print('*****egon*****'.strip('*'))

    2、lower,upper
    msg='aABBBBb'
    res=msg.lower()
    print(res)
    print(msg)

    3、startswith,endswith
    msg='alex is dsb'
    print(msg.startswith('alex'))
    print(msg.endswith('sb'))
    print(msg.endswith('b'))

    4、format的三种玩法
    print('my name is %s my age is %s' %('egon',18))
    print('my name is {name} my age is {age}'.format(age=18,name='egon'))

    了解
    print('my name is {} my age is {}'.format(18,'egon'))
    print('my name is {0} my age is {1}{1}'.format(18,'egon'))

    5、split,rsplit
    msg='get|a.txt|333331231'
    # print(msg.split('|',1))
    print(msg.split('|',1))
    print(msg.rsplit('|',1))

    6、join
    msg='get|a.txt|333331231'
    l=msg.split('|')
    print(l)

    src_msg='|'.join(l)
    print(src_msg)

    7、replace
    msg='alex say i have one tesla,alex is alex hahaha'
    print(msg.replace('alex','sb',1))
    print(msg)

    8、isdigit # 判断字符串中包含的是否为纯数字
    print('10.1'.isdigit())
    age=input('>>: ').strip()
    if age.isdigit():
        age=int(age) #int('asfdsadfsd')
        if age > 30:
            print('too big')
        elif age < 30:
            print('too small')
        else:
            print('you got it')
    else:
        print('必须输入数字')

    需要了解的内置方法
    1、find,rfind,index,rindex,count
    msg='hello alex is sb'
    print(msg.find('alex'))
    print(msg.find('alex',0,3))

    print(msg.index('alex'))
    print(msg.index('alex',0,3))

    msg='alex aaa alex'
    print(msg.find('alex'))
    print(msg.rfind('alex'))

    msg='alex aaa alex'
    print(msg.count('alex')) # 统计一个子字符串在大字符串中出现的次数

    2、center,ljust,rjust,zfill
    print('egon'.center(50,'*'))
    print('egon'.ljust(50,'*'))
    print('egon'.rjust(50,'*'))
    print('egon'.zfill(50))

    3、expandtabs
    print('a b'.expandtabs(1))

    4、captalize,swapcase,title
    print('hello'.capitalize())
    print('hElLo'.swapcase())
    print('egon is nb'.title())

    5、is数字系列
    在python3中
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='壹' #中文数字
    num4='Ⅳ' #罗马数字

    ''.isnumeric(): unicode,中文数字,罗马数字
    print(num2.isnumeric())
    print(num3.isnumeric())
    print(num4.isnumeric())

    ''.isdecimal(): unicode
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())

    ''.isdigit() :bytes,unicode
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    print(num4.isdigit())

    6、is其他
    print('abc你'.isalpha()) # 字符串中包含的是字母或者中文字符

    字符串中包含的是字母(中文字符)或数字
    print('ab'.isalnum())
    print('123123'.isalnum())
    print('ab123'.isalnum())

    三、列表该类型总结
    1 存一个值

    2 有序

    3 不可变
    x='abc'
    print(id(x))
    x='def'
    print(id(x))

    一:基本使用
    1 用途:存放多个值,可以根据索引存取值

    2 定义方式:在[]内用逗号分割开多个任意类型的值
    l=['egon','lxx','yxx'] # l=list(['egon','lxx','yxx'])
    l1=list('hello') #list就相当于调用了一个for循环依次取出'hello'的值放入列表
    print(l1)
    l2=list({'x':1,'y':2,'z':3})
    print(l2)
    list(10000) # 报错

    3 常用操作+内置的方法
    优先掌握的操作:
    1、按索引存取值(正向存取+反向存取):即可存也可以取
    l=['egon','lxx','yxx']
    print(l[0])
    l[0]='EGON'
    print(l)
    print(l[-1])
    print(l[3])
    l[0]='EGON' # 只能根据已经存在的索引去改值
    l[3]='xxxxxxxx' #如果索引不存在直接报错

    2、切片(顾头不顾尾,步长)
    l=['egon','lxx','yxx',444,555,66666]
    print(l[0:5])
    print(l[0:5:2])
    print(l[::-1])

    3、长度
    l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
    print(len(l))

    4、成员运算in和not in
    l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
    print('lxx' in l)
    print(444 in l)

    5、追加
    l=['egon','lxx','yxx']
    l.append(44444)
    l.append(55555)
    print(l)

    6、往指定索引前插入值
    l=['egon','lxx','yxx']
    l.insert(0,11111)
    print(l)
    l.insert(2,2222222)
    print(l)

    7、删除
    l=['egon','lxx','yxx']

    单纯的删除值:
    方式1:
    del l[1] # 通用的
    print(l)

    方式2:
    res=l.remove('lxx') # 指定要删除的值,返回是None
    print(l,res)

    从列表中拿走一个值
    res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值
    print(l,res)

    8、循环
    l=['egon','lxx','yxx']
    for item in l:
        print(item)

    需要掌握的操作
    l=['egon','egon','lxx','yxx',444,555,66666]
    print(l.count('egon'))
    print(l.index('egon'))
    print(l.index('yxx',0,1))
    l.clear()

    items=['a','b','c']
    items='hello'
    for item in items:
        l.append(item)
    l.extend(items)
    print(l)

    l=['egon','egon','lxx','yxx',444,555,66666]
    l.reverse()
    print(l)

    nums=[3,-1,9,8,11]
    nums.sort(reverse=True)
    print(nums)

    items=[1,'a','b',2]
    items.sort()

    列表二、该类型总结
    1 存多个值

    2 有序

    3 可变
    l=['a','b','c']
    print(id(l))
    l.append('d')
    print(id(l))

    队列:先进先出
    l=[]
    # 入队
    l.append('first')
    l.append('second')
    l.append('third')
    print(l)
    # 出队
    print(l.pop(0))
    print(l.pop(0))
    print(l.pop(0))

    堆栈:先进后出
    l=[]
    # 入栈
    l.append('first')
    l.append('second')
    l.append('third')
    print(l)
    出栈
    print(l.pop())
    print(l.pop())
    print(l.pop())

  • 相关阅读:
    邦定lua函数到C里做为回调
    cocos2d-x 获取图片的某像素点的RGBA颜色 -转
    地图跟着主角视角滚动
    用 eclipse ndk 编译 cocos2d-x for Android
    cocos2d-x 安卓环境配置 -转
    Hacker(16)----防范端口扫描与嗅探
    Hacker(15)----嗅探原理
    Hacker(14)----扫描目标计算机端口
    Hacker(13)----搜集目标计算机的重要信息
    Hacker(12)----个人计算机安全防护策略
  • 原文地址:https://www.cnblogs.com/zjh009/p/9469489.html
Copyright © 2011-2022 走看看