美文网首页
Python-02 元组 & 字符串

Python-02 元组 & 字符串

作者: JuliusL | 来源:发表于2022-05-02 17:18 被阅读0次

    元组

    元组是不可变的
    元组可以不带括号

    a = 1,2,3,4,5
    

    也可以通过下标获取元素

    a[0]
    a[-1]
    

    元组可以切片
    切片:将目标对象中的元素以某种特定的组合导出

    生成一个元素的元组

    a = (1,)
    

    打包和解包

    打包

    a = (1,'a',3.14)
    

    解包

    a,b,c = (1,2,3)
    

    列表和字符串也可以这样
    注:赋值号左边的变量名数量必须跟右侧序列的元素数量一致

    小技巧:

    a,b,*c = "abcde"
    

    python的多重赋值实现就是
    先通过元组打包
    再将元组进行解包

    字符串

    字符串本质是序列,像元组一样不可变的序列

    判断一个字符串是不是回文数

    "是" if x == x[::-1] else "不是"
    

    大小写字母转换

    # 字符串首字母变大写,其他变小写
    x.capitalize()
    # 转小写(支持其他语言的字符)
    x.casefold()
    # 每个单词的首字母变大写,该单词所有其他字母变小写
    x.title()
    # 大小写翻转
    x.swapcase()
    # 转大写
    x.upper()
    # 转小写(只能处理英文字母)
    x.lower()
    

    左中右对齐

    # 如果x的字符串小于 15,则左右用空格填充
    x.center(15) 
    # 用多余的空格左填充
    x.ljust(15)
    # 用多余的空格右填充
    x.rjust(15)
    # 用0填充左侧
    x.zfill(15)
    

    查找

    #查找a在x中出现的次数
    x.count('a')
    # 从左往右找第一个出现的下标
    # 找不到返回-1
    x.find('a')
    # 从右往左找第一个出现的下标
    x.rfind('a')
    # 会抛异常
    x.index()
    # 会抛异常
    x.rindex()
    

    替换

    # 将字符串中的tab全部替换成空格,下面表示用4个空格替换
    x.expandtabs(4)
    # 将x的a全部替换为b
    x.replace('a','b')
    # 以表格的规则进行替换字符串,还有第三个参数表示将指定字符串忽略
    table = str.maketrans('ABCDEFG','1234567')
    "I Love You".translate(table)
    

    判断

    # x的第一个元素是不是a
    # 可以传多个值
    x.startswith('a')
    # x的最后一个元素是不是a
    # 可以传多个值
    x.endswith('a')
    # x中的单词是否都以大写字母开头
    x.istitle()
    # x的字母是否全是大写
    x.isupper()
    # x的字母是否全是小写
    x.lower()
    # x是否全是字母
    x.isalpha()
    #x是否为一个空白字符串
    x.isspace()
    # x所有字符是否都是可打印的(\n是不可打印字符)
    x.isprintable()
    # 1,2,3,4...
    x.isdecimal()
    # 1,2,2²
    x.isdigit()
    # 1,2,2²,一,II
    x.isnumeric()
    # isalpha/isdecimal/isdigit/isnumeric
    x.isalnum()
    #x是否是一个合法的Python标识符
    x.isidentifier()
    # 判断是不是python的保留字符
    import keyword
    keyword.iskeyword('if')
    

    截取

    # 左侧不用留白
    # 第一个参数选填,填了之后会移除左侧传入的字符
    x.lstrip()
    # 右侧不用留白
    x.rstrip()
    # 左右不用留白
    x.strip()
    # 剔除一个具体的子字符串前缀
    x.remoteprefix(prefix)
    # 剔除一个具体的子字符串后缀
    x.removesuffix(suffix)
    

    拆分&拼接

    # 将字符串以参数指定的分隔符为依据进行切割,并且将切割后的结果返回一个三元组
    # 从左到右找分隔符,拆成三份
    x.partition(sep)
    # 从右往左找分隔符,拆成三份
    x.rpartition(sep)
    # 根据,拆分字符串,第二个参数是拆几份
    x.split(',')
    # 以换行进行分割,返回一个列表,第二个参数表示返回的结果包不包含换行符
    x.splitlines()
    # 参数是可迭代对象
    # 输出:a.b.c
    ‘.’.join(['a','b','c'])
    # join的拼接比用+效率快
    ‘’.join('a','b')
    

    格式化字符串

    可以看菜鸟学院更详细,数字格式化内容太多了
    https://www.runoob.com/python/att-string-format.html

    # 基础用法
    "{}{}{}".format(1+2,2*2,3*3)
    # 位置索引
    "{1}{0}".format('a','b')
    # 关键字索引
    "{name}{fav}".format(name="a",fav="b")
    "{1:>10}{0:<10}".format(520,250)
    #输出:       250520       
    #f字符串,{}里面可以直接放变量或表达式
    f"{1+2}{2*2}"
    

    相关文章

      网友评论

          本文标题:Python-02 元组 & 字符串

          本文链接:https://www.haomeiwen.com/subject/cqomyrtx.html