python 3 基础之字符串下标索引、切片、方法
字符串定義
name = “”或name = ‘’或name = str()
保留文本格式(需要用三引號,''''''或"""""")
字符串的下標索引(中括號里的下標索引 需要在字符串序列數中,超出會報錯;若從右到左算從-1開始,都是等價的,實際開發都是從0開始),如
my_str = 'hello'
ret = my_str[2]
print(ret)
字符串切片(切片是指對操作的對象截取其中一部分的操作)
切片的語法:[起始:結束(開區間):步長],一般情況步長不寫,默認為1
a = 'abcdef'
print(a[-1:-4:-2])#-1:從右到左;-4:從右到左取到第四位,即c;-2:步長為右到左2位
取abc -> a[0:3] 或者 a[:3],若從頭開始取,0可以省略不寫
print(a[0:3])
字符串的方法
a = 'abcdef'
1、find(查找字符串里的字符,返回其下標索引)
查詢到對應的字符串會返回一個下標索引,若沒有,則返回-1
ret1 = a.find('d')
print(ret1)
print(a.find('a',1))#從下標1開始,查找在字符串里第一個出現的子串:返回結果-1
2、index用法與find一樣,index若找不到會異常
19、rindex 類似index(),這是從右到左查找,找到沒事沒找到報異常
18、rfind 類似find()方法(從左到右查找),這是從右到左開始找(索引編號還是原來的左到右),兩者用法看字符串長度決定用哪個(查找速度、性能)
a = 'abcdefabcd'
print(a.rfind('b'))#若沒找到報-1
3、count(計算字符串中某個字符出現的次數,若沒找到則0)
格式:str.count("char", start,end)
char —— 為要統計的字符(可以是單字符,也可以是多字符)。
star —— 為索引字符串的起始位置,默認參數為0。
end —— 為索引字符串的結束位置,默認參數為字符串長度即len(str)。
print(a.count('a'))
print(a.count("i",2,5)) #star值為2,end值為5
4、replace(把字符串里的某個字符進行更改)
a = 'abcdefghaa'
ret4 = a.replace('a','ds',1)#把a修改成ds,只修改一次,如刪掉后面的1,則代表更改字符串里的所有a
print(a)#打印a不是修改后的字符串,字符串是不變的,只能重新定義一個變量
print(ret4)
print(a.replace('a','ds',1))#等價于print(ret4)
5、split(以某個字符為界分割字符串,分割后此字符串不存在;分割后產生一個新的數據類型:列表)
str.split() 默認以空格,換行(
),制表符 分割
str.split('字符串'):以字符串為分割
str.split('字符串',2)分割以前2次出現的字符串為分割
a = 'abacdefandafinad'
ret5 = a.split('a')
print(ret5)
22、splitlines 找到字符串里的
,默認以此為界分隔字符(
會自動刪掉),返回一個包含各行作為元素的列表
splitlines() 方法語法:S.splitlines([keepends=False])
keepends -- 在輸出結果里是否去掉行界符('', '
',
'等),默認為 False,不包含行界符,如果為 True,則保留行界符。
a = 'abcd
edsd
dk
ds'
ret = a.splitlines()
print(ret)
print(type(ret))
6、capitalize 把字符串的第一個字符大寫
a = 'sadkjhkj'
print(a.capitalize())#實則變量a還是a,沒有改變
7、title把字符串里的每個單詞首字母大寫
a = 'a bc de f'#若用空格分開,則認為是多個單詞,否則當做一個單詞處理
print(a.title())
10、lower 轉換字符串中的大寫字符為小寫,小寫不變
a = 'NXCBdefandafinad'
print(a.lower())
11、upper把字符串中的小寫全部轉換成大寫
a = 'abacdefanXdafinad'
print(a.upper())
8、startswith 檢查字符串是否以某些字符開頭,是則返回True,否則返回False
a = 'abacdefandafinad'
print(a.startswith('aba'))
9、endswith 檢查字符串是否以某些字符結尾,是則返回True,否則返回False
a = 'abacdefandafinad'
print(a.endswith('nad'))#區分大小寫
可能會上傳個文件是MP4后綴結束,此時需要endswith判斷
12、ljust 返回一個原來字符串左對齊,并使用空格填充至長度width的新字符串
a = 'what'
ret1 = a.ljust(10,'x') 原來的字符串先左對齊,如果不夠10位,用x表示,占據10個位置,10看業務需求決定
print(ret1)
13、rjust(跟ljust用法一致)
a = 'what'
ret2 = a.rjust(10,'x') #原來的字符串先右對齊,如果不夠10位,用x表示,占據10個位置
print(ret2)
設想左邊三個1右邊三個1中間abcd
14、center 居中
a = 'abcd'
print(a.center(10,' '))#若不對稱則默認左邊少一個
15、lstrip 刪除字符串里字符左邊的空格,包括
和 ( 指的是Tab鍵)(中間的空字符不去除)
a = ' dsk k '
print(a.lstrip())
也可以把字符左側的一些字符刪除掉,如
a = '11123abdc'
print(a.lstrip('12'))#不填則默認去除空格,填則只能填最左邊的某些字符,詞句去除了左邊的1和2
16、rstrip 去除字符串最右邊的空格或一些字符
a = 'dksdl33443k'
print(a.rstrip('34k'))#去掉字符串中的3和4、k
17、strip 去除字符串兩邊的空格或字符
a = '23222abcd1x21212'
print(a.strip('123'))#去除兩邊的123
20、partition 把字符串以某個字符分割(從左到右,找到第一個e,以此為界分割)成三部分,字符串前、字符串、字符串后
a = 'abcdefghe'
ret = a.partition('e')
print(ret)#產生新的數據類型
print(type(ret))
23、isalpha 判斷一個字符串里是否全部是字母,是則返回布爾值True,否則False
a = 'abcdefghe'
ret = a.isalpha()
print(ret)
24、 isdigit判斷字符串里是否全是數字,是則返回布爾值True,否則False
a = '0435435'
ret = a.isdigit()#網站判斷密碼過于簡單就是用這個來判斷的
print(ret)
25、isalnum 字符串里的所有字符都是字母或數字則返回True,否則False
a = 'abcd213efghe'
ret = a.isalnum()
print(ret)
26、isspace 字符串中只包含空格,則返回 True,否則返回 False
27、join 字符串中每個元素后面插入str,構造出一個新的字符串
用人話說:把一個列表里的元素合在一起,構成一個新的字符串
定義一個列表(列表里的叫元素)
my_list = ['li','baoc','dabei']
ret = ' '.join(my_list)#引號里輸入什么,打印出來的字符串里的字符(原來是列表里的元素)就以什么
總結
以上是生活随笔為你收集整理的python 3 基础之字符串下标索引、切片、方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习实战(六)——支持向量机
- 下一篇: 机器学习实战(八)预测数值型数据:回归