1. 元组(tuple):带上了枷锁的列表
元组不可修改;用小括号括起;与列表操作类似;逗号分隔,逗号才是关键是本体!
元组相关的操作符,与列表类似:
拼接 + ;重复 * ;关系 >/<... ; 成员 in / not... ; 逻辑 and / or......
//创建元组
>>> tuple1 = (1,2,3,4,5,6,7,8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
//元素获取
>>> tuple1[2]
3
//分片
>>> tuple1[5:]
(6, 7, 8)
>>> tuple1[:5]
(1, 2, 3, 4, 5)
//拷贝
>>> tuple2 = tuple1[:]
>>> tuple2
(1, 2, 3, 4, 5, 6, 7, 8)
//逗号才是元组的关键标识!
>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>
>>> temp2 = 2,3,4
>>> type(temp2)
<class 'tuple'>
>>> temp = ()
>>> type(temp)
<class 'tuple'>
>>> temp = (1,)
>>> type(temp)
<class 'tuple'>
>>> temp = 1,
>>> type(temp)
<class 'tuple'>
//重复
>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)
//元组的拼接
>>> temp = ('fly','kate','blue','mom','herry')
>>> temp = temp[:2] + ('lucy',) + temp[2:]
>>> temp
('fly', 'kate', 'lucy', 'blue', 'mom', 'herry')
//删除元组
>>> del temp
2. 再谈字符串
2.1 字符串切片:
[ : ] 冒号前后默认是首尾,切片时,包括前面的元素,不包括后面的元素;
字符串的拼接和元组类似,不再赘述;
//字符串分片
>>> str1 = 'hello,morning!'
>>> str1[:6]
'hello,'
//获取元素
>>> str1[6]
'm'
2.2 各种奇葩字符串操作的方法(截图引用自以下网址,侵删):
https://fishc.com.cn/thread-38992-1-1.html
部分用法的举例:
>>> str1 = 'hello,morning!'
//首字母大写
>>> str1.capitalize()
'Hello,morning!'
//所有字母改为小写
>>> str1.casefold()
'hello,morning!'
//至少有一个字符,且所有字符是字母或数字
>>> str2 = 'qwer234'
>>> str2.isalnum()
True
//只能识别字母,不能识别汉字
>>> str3 ='你好'
>>> str3.islower()
False
>>> str2.islower()
True
//以字符串str3分割ABCD
>>> str3.join('ABCD')
'A你好B你好C你好D'
//将定义字符串与前后字符串分割开
>>> str2.partition('r')
('qwe', 'r', '234')
//以定义字符串分割原字符串,并删除定义字符串
>>> str4 = 'banana,nice!'
>>> str4.split('n')
['ba', 'a', 'a,', 'ice!']
//删除字符串首尾的定义字符串,默认为删除空格
>>> str4 = 'nnnbanana,nice!nnn'
>>> str4.strip('n')
'banana,nice!'
//将定义字符串1用定义字符串2替换;返回的是ASCLL码
>>> str4.translate(str.maketrans('n','s'))
'sssbasasa,sice!sss'
>>> str.maketrans('n','s')
{110: 115}
//将字符串开头用0填充至定义长度
>>> str4.zfill(20)
'00nnnbanana,nice!nnn'