美文网首页
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