元组
1、从视觉效果上看,元组使用()(在不引起歧义的情况下,允许省略圆括号),而列表使用[]
2、元组不可变,不支持修改,但可切片(切片是导出一个新的数列)
>>>nums = (1, 3, 5, 3)
>>>nums.count(3)
2
>>>nums.index(3)
2
元组相加为扩展
>>>s = (1, 2, 3)
>t = (4, 5, 6)
>s + t
(1, 2, 3, 4, 5, 6)
元组的嵌套:
w = s, t
w
((1, 2, 3),(4, 5, 6))
元组同样支持迭代
for each in s:
print each
1
2
3
对于嵌套的元组同样要使用嵌套的循环
for i in w
for each in i
print(each)
1
2
3
4
5
6
只生成一个元素的元组
x = (1,)
元组的打包与解包
生成一个元组的过程我们也称为元组的打包与解包
t = (123, "FishC", 3.14)
x, y, z = t
x = 123
y = "FishC"
z = 3.14
同样,列表和字符串也能有类似于解包的过程
元组并不是一定不能修改,当其内含有可变的列表时,元组中的元素即可同样可变。
字符串
https://blog.51cto.com/u_8081755/3347724?abTest=51cto
字符串的测试函数,这一类函数在string模块中没有,这些函数返回的都是bool值:
S.startwith(prefix[,start[,end]]) #是否以prefix开头
S.endwith(suffix[,start[,end]]) #以suffix结尾
S.isalnum() #是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的
对于此类函数,其中的判断可以元组的形式进行,只要元组中任一元素匹配即可。
x = "她爱Python"
if x.startswith(("你", "我", "她")):
print("总有人爱Python")
2.1 Python可以同时调用多个函数,响应是从左到右的顺序,如:
>>>x = "I Love python"
>>>x.upper().isupper()
true
2.2 "\n"转义字符不是一个可打印字符,若使用isprintable(),结果为False。
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
2.3
removeprefix()
removesuffix()
删除指定的前缀后缀字符串
2.4 拆分和拼接
partition(sep)
rpartition(sep):从右到左进行分割
将字符串以参数指定的分隔符为依据进行切割,并将切割后的结果返回一个三元组
S.split([sep, [maxsplit]]) #以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符,结果为列表。
S.rsplit([sep, [maxsplit]])
S.splitlines([keepends]) #把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq) #把seq代表的序列──字符串序列,用S连接起来
.2.5 格式化字符串
>>>year = 2010
>>>"出生于 {} 年 {} 月".format(year, 2)
>出生于 2010 年 2 月
参数中的字符串会被当做元组来对待,{}中的数字即为对应元组的下标索引值,同一个索引值可以被多次引用,也可通过关键字引用。
>>>"{} 看到 {} 很激动".format("零", "一")
>'零 看到 一 很激动'
>>>"{1} 看到 {0} 很激动".format("零", "一")
>'一 看到 零 很激动'
关键字
>>>"我叫{name}, 我爱{fav}。".format(name = "1" , fav = "2")
还可重复使用
>>>"{0}{0}{1}{1}".format("是", "非")
>是是非非
同样可以同时使用关键字与字符串
>>>"{name}, {0}".format("python", name = "you")
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
>>>"{1:>10}{0:<10}".format(520, 250)
' 250520 '
其中1,0为位置索引,:>对齐方式,10为显示宽度,在10前面输入对应的符号如@,就会将空格改成@输出
详情见引用文章:
https://www.jb51.net/article/204291.htm