• 3.20学习内容,字符串与列表


    一、字符串类型:

    作用:名字,性别,国籍,地址等描述信息

    定义:在单引号双引号三引号内,由一串字符组成。

    需要掌握的方法:

    1、strip  去除指定字符
    lstrip 去除左边指定字符
    rstrip 去除右边指定字符
    print('**sss****'.lstrip('*'))
    print('**sss****'.rstrip('*'))

    2、lower 所有字符全部小写
    upper 所有字符全部大写
    print('Egon'.lower())
    print('egon'.upper())

    3、startswith 检查是否以某字符开头
    endswith 检查是否以某字符结尾
    print('alex is sb'.startswith('alex'))
    print('alex is sb'.endswith('sb'))


    4、format的三种玩法 关键字参数可以代替格式化里的%s
    第一种:{}
    s1='my name is %s my age is %s' %('egon',18)
    s2='my name is {} my age is {}'.format('egon',18)
    s2='my name is {} my age is {}'.format('egon',18,19)
    第二种
    s2='my name is {0} my age is {1} {1} {1} {0} {1}'.format('egon',18,19)
    print(s2)
    第三种
    s2='my name is {name} my age is {age}'.format(age=18,name='egon')
    print(s2)

    5、split 以指定字符字符切割为列表
    rsplit 从右边以指定字符切割
    cmd='get|C:a.txt|3333'
    print(cmd.split('|',1))
    print(cmd.rsplit('|',1))

    6、join 使用指定字符将列表内的字符连接成一个字符串
    cmd='egon:123:admin:rwx'
    l=cmd.split(':')
    res=''.join(l)
    res=':'.join(l)
    注意:':'.join([1,2,3]) # join方法传入的列表必须只包含str类型的元素

    7、replace 替换:将指定字符替换成另一个字符
    msg='wupeiqi say my name is wupeiqi'
    print(msg.replace('wupeiqi','SB'))
    print(msg.replace('wupeiqi','SB',1))

    8、isdigit 判断是否为数字类型
    print('10'.isdigit())
    示例:
    age=10
    inp=input('>>: ').strip()
    if inp.isdigit():
    inp=int(inp)
    if inp > age:
    print('too big')
    else:
    print('输入数据非法')

    其他操作(了解即可)
    1、find 查询指定字符
    rfind 从右查询指定咨询
    index 检测字符串中是否包含子字符串 str
    rindex 从右检测字符串中是否包含子字符串 str
    count 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
    msg='my egon hegon 123'
    print(msg.find('sb'))
    print(msg.find('egon'))
    print(msg.find('egon',8,20))
    print(msg.rfind('egon'))

    print(msg.index('sb'))
    print(msg.index('egon'))

    2、center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
    ljust 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
    rjust 返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
    zfill 返回指定长度的字符串,原字符串右对齐,前面填充0
    print('========================egon=======================')
    print('egon'.center(50,'*'))
    print('egon'.ljust(50,'*'))
    print('egon'.rjust(50,'*'))
    print('egon'.zfill(50))

    3、expandtabs 将字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8。
    msg='abc def'
    print(msg.expandtabs(3))

    4、captalize 将字符串的第一个字母变成大写,其他字母变小写
    swapcase 将字符串的大小写字母进行转换
    title() 返回"标题化"的字符串,就是说所有单词都是以大写开始
    print('abeCdEF'.capitalize())
    print('abeCdEF'.swapcase())
    print('my name is egon'.title())

    5、is数字系列 总结最常用的是 .isdigit() 就足以满足日常需求,如果有关钱的使用 .isnumeric() 命令。
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3=u'肆' #中文数字
    num4=u'Ⅳ' #罗马数字

    isdigit():bytes,unicode的阿拉伯数字
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    print(num4.isdigit())

    isdecimal():unicode的阿拉伯数字
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())

    isnumberic:unicode的阿拉伯数字中文数字罗马数字
    print(num2.isnumeric())
    print(num3.isnumeric())
    print(num4.isnumeric())

    6、is其他
    print('asdfasdfasdfaAsfd'.isalpha()) #字符全由字母组成

    print('asdf'.isalnum()) #字符由字母或数字组成
    print('I Am Egon'.isnumeric())
    print(' '.isspace())
    print('print'.isidentifier())



    总结字符串类型:

    1 存一个值
    只能存一个值

    2 有序or无序
    有序

    3 可变or不可变
    !!!不可变:值变,id就变。不可变==可hash

    列表类型

    一:基本使用
    1 用途:存放多个值

    2 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制
    l=['a','b','c'] #l=list(['a','b','c'])
    l1=list('hello')
    print(l1)

    3 常用操作+内置的方法
    优先掌握的操作:
    1、按索引存取值(正向存取+反向存取):即可改也可以取
    l=['a','b','c']
    print(id(l))
    print(l[-1])
    l[0]='A'
    print(id(l))
    print(l)
    l[3]='d' # 报错

    2、切片(顾头不顾尾,步长)
    stus=['alex','egon','wxx','yxx','lxx']
    print(stus[1:3])

    3、长度
    stus=['alex','egon','wxx','yxx','lxx']
    print(len(stus))

    4、成员运算in和not in
    stus=['alex','egon','wxx','yxx','lxx']
    print('alex' in stus)

    5、追加
    stus=['alex','egon','wxx','yxx','lxx']
    stus.append('wupei')
    stus.append('peiqi')
    print(stus)
    插入
    stus=['alex','egon','wxx','yxx','lxx']
    stus.insert(1,'艾利克斯')
    print(stus)

    6、删除
    stus=['alex','egon','wxx','yxx','lxx']
    del stus[1]
    print(stus)
    stus.remove('alex')
    print(stus)

    stus.pop(1)
    stus.pop() # 默认删除末尾
    print(stus)

    res1=stus.remove('alex') # 单纯的删除
    print(res1)
    res2=stus.pop(0) # 取走一个值
    print(res2)

    7、循环
    stus=['alex','egon','wxx','yxx','lxx']
    依赖索引
    i=0
    while i < len(stus):
    print(stus[i])
    i+=1

    for i in range(len(stus)):
    print(i,stus[i])

    不依赖索引
    for item in stus:
    print(item)


    补充for循环
    for i in range(0,5,2): #0 2 4
    print(i)
    for i in range(10):#默认从零起始
    print(i)

    for i in range(10,-2,-1):
    print(i)


    需要掌握的操作
    stus=['alex','egon','alex','wxx','yxx','lxx']
    print(len(stus)) # stus.__len__()

    print(stus.count('alex'))
    stus.extend(['a','b','c'])
    print(stus)
    stus.append(['a','b','c'])
    print(stus)


    print(stus.index('alex',1,5))

    stus.reverse()
    print(stus)

    l=[1,10,3,12]
    l.sort(reverse=True)
    print(l)


    大前提:只能同类型直接比较大小,对于有索引值直接的比较是按照位置一一对应进行比较的
    s1='hello'
    s2='hf'
    print(s1 > s2)

    l1=[3,'a','b','c']
    l2=['xxx','d']
    print(l1 > l2)


    英文单词大小定义:
    print('Z' > 'a')
    A-Za-z
    print('a' > 'B')


  • 相关阅读:
    Singer Michael Jackson dead at 50
    [转载]使用NUnit在.Net编程中进行单元测试
    [转载]简单蚁群算法的实现
    发布yxyDES2的C语言版
    常用的正则表达式
    C#正则表达式快速入门
    Choosing between ASP.NET MVC and ASP.NET Webforms
    C#里的一些加密解密标准函数示例——DES,SHA1,RSA
    Comparing ASP.NET MVC and ASP.NET
    [原创]DES加密解密工具2.1及其代码——支持字符串及文件加密,支持3重DES
  • 原文地址:https://www.cnblogs.com/yangwei666/p/8611404.html
Copyright © 2020-2023  润新知