python常用字符串函數(shù)有哪些

本篇內(nèi)容介紹了“python常用字符串函數(shù)有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

為資溪等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及資溪網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、資溪網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1.數(shù)組

a = [1,2,3,5,6,7,8,9,0]print(a)#如何創(chuàng)建一個(gè)listL1 = []print(type(L1))print(L1)
L2 = [1,2,0,3,0,5,6,7,8,9,0]print(L2 )#增L2.append(11) #插入到最后的一個(gè)值print(L2)#添加到指定位置,insert(插到第幾個(gè),插入什么數(shù)據(jù)) 其他數(shù)據(jù)會(huì)向右移一個(gè)位置#list中每個(gè)值,他們所在的位置叫做下標(biāo),這個(gè)id是從左到右從0開(kāi)始L2.insert(2,13)print(L2)#刪#remove刪除的時(shí)候是通過(guò)值刪除的,從左到右刪除找到的第一個(gè)值#若值不存在,報(bào)異常L2.remove(0)print("=========")print(L2)print(L2.pop(4))print(L2)#改L2[1] = '111'#查print(L2[1])print(L2[3])print(L2[6])#遍歷列表數(shù)據(jù)查詢for i in L2:print("當(dāng)前元素:",i)

2.數(shù)組常用函數(shù)

len(list)
列表元素個(gè)數(shù)
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
將元組轉(zhuǎn)換為列表
list.append(obj)
在列表末尾添加新的對(duì)象
list.count(obj)
統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list.extend(seq)
在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)
list.index(obj)
從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置
list.insert(index, obj)
將對(duì)象插入列表
list.pop([index=-1])
移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值
list.remove(obj)
移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)
list.reverse()
反向列表中元素
list.sort( key=None, reverse=False)
對(duì)原列表進(jìn)行排序
list.clear()
清空列表
list.copy()
復(fù)制列表

3.字符串常用函數(shù)

capitalize()
將字符串的第一個(gè)字符轉(zhuǎn)換為大寫(xiě)
center(width, fillchar)
返回一個(gè)指定的寬度 width 居中的字符串,fillchar 為填充的字符,默認(rèn)為空格。
count(str, beg= 0,end=len(string))
返回 str 在 string 里面出現(xiàn)的次數(shù),如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)
bytes.decode(encoding="utf-8", errors="strict")
Python3 中沒(méi)有 decode 方法,但我們可以使用 bytes 對(duì)象的 decode() 方法來(lái)解碼給定的 bytes 對(duì)象,這個(gè) bytes 對(duì)象可以由 str.encode() 來(lái)編碼返回。
encode(encoding='UTF-8',errors='strict')
以 encoding 指定的編碼格式編碼字符串,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
endswith(suffix, beg=0, end=len(string))
檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 False.
expandtabs(tabsize=8)
把字符串 string 中的 tab 符號(hào)轉(zhuǎn)為空格,tab 符號(hào)默認(rèn)的空格數(shù)是 8 。
find(str, beg=0, end=len(string))
檢測(cè) str 是否包含在字符串中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內(nèi),如果包含返回開(kāi)始的索引值,否則返回-1
index(str, beg=0, end=len(string))
跟find()方法一樣,只不過(guò)如果str不在字符串中會(huì)報(bào)一個(gè)異常。
isalnum()
如果字符串至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False
isalpha()
如果字符串至少有一個(gè)字符并且所有字符都是字母或中文字則返回 True, 否則返回 False
isdigit()
如果字符串只包含數(shù)字則返回 True 否則返回 False..
islower()
如果字符串中包含至少一個(gè)區(qū)分大小寫(xiě)的字符,并且所有這些(區(qū)分大小寫(xiě)的)字符都是小寫(xiě),則返回 True,否則返回 False
isnumeric()
如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False
isspace()
如果字符串中只包含空白,則返回 True,否則返回 False.
istitle()
如果字符串是標(biāo)題化的(見(jiàn) title())則返回 True,否則返回 False
isupper()
如果字符串中包含至少一個(gè)區(qū)分大小寫(xiě)的字符,并且所有這些(區(qū)分大小寫(xiě)的)字符都是大寫(xiě),則返回 True,否則返回 False
join(seq)
以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個(gè)新的字符串
len(string)
返回字符串長(zhǎng)度
ljust(width[, fillchar])
返回一個(gè)原字符串左對(duì)齊,并使用 fillchar 填充至長(zhǎng)度 width 的新字符串,fillchar 默認(rèn)為空格。
lower()
轉(zhuǎn)換字符串中所有大寫(xiě)字符為小寫(xiě).
lstrip()
截掉字符串左邊的空格或指定字符。
maketrans()
創(chuàng)建字符映射的轉(zhuǎn)換表,對(duì)于接受兩個(gè)參數(shù)的最簡(jiǎn)單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。
max(str)
返回字符串 str 中最大的字母。
min(str)
返回字符串 str 中最小的字母。
replace(old, new [, max])
把 將字符串中的 old 替換成 new,如果 max 指定,則替換不超過(guò) max 次。
rfind(str, beg=0,end=len(string))
類似于 find()函數(shù),不過(guò)是從右邊開(kāi)始查找.
rindex( str, beg=0, end=len(string))
類似于 index(),不過(guò)是從右邊開(kāi)始.
rjust(width,[, fillchar])
返回一個(gè)原字符串右對(duì)齊,并使用fillchar(默認(rèn)空格)填充至長(zhǎng)度 width 的新字符串
rstrip()
刪除字符串字符串末尾的空格.
split(str="", num=string.count(str))
以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num+1 個(gè)子字符串
splitlines([keepends])
按照行('\r', '\r\n', \n')分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。
startswith(substr, beg=0,end=len(string))
檢查字符串是否是以指定子字符串 substr 開(kāi)頭, 是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查。
strip([chars])
在字符串上執(zhí)行 lstrip()和 rstrip()
swapcase()
將字符串中大寫(xiě)轉(zhuǎn)換為小寫(xiě),小寫(xiě)轉(zhuǎn)換為大寫(xiě)
title()
返回"標(biāo)題化"的字符串,就是說(shuō)所有單詞都是以大寫(xiě)開(kāi)始,其余字母均為小寫(xiě)(見(jiàn) istitle())
translate(table, deletechars="")
根據(jù) str 給出的表(包含 256 個(gè)字符)轉(zhuǎn)換 string 的字符, 要過(guò)濾掉的字符放到 deletechars 參數(shù)中
upper()
轉(zhuǎn)換字符串中的小寫(xiě)字母為大寫(xiě)
zfill (width)
返回長(zhǎng)度為 width 的字符串,原字符串右對(duì)齊,前面填充0
isdecimal()
檢查字符串是否只包含十進(jìn)制字符,如果是返回 true,否則返回 false。

'1.字符串常量集合'
import string

print(string.ascii_uppercase) #大寫(xiě)字母
print(string.ascii_lowercase) #小寫(xiě)字母
print(string.ascii_letters)   #大小寫(xiě)字母
print(string.digits)          #數(shù)字
print(string.punctuation)     #符號(hào)集合
print(string.printable)       #可輸入字符合集,包括大小寫(xiě)字母數(shù)字和符號(hào)的合集

'2.字符串大小寫(xiě)轉(zhuǎn)換 5個(gè)'
str='hello,woRld!'
print(str.capitalize()) #僅首字母大寫(xiě),Hello,world!
print(str.title())      #僅每個(gè)單詞首字母大寫(xiě),Hello,World!
print(str.upper())      #每個(gè)字母都大寫(xiě),HELLO,WORLD!
print(str.lower())      #每個(gè)字母都小寫(xiě),hello,world!
print(str.swapcase())   #大小寫(xiě)互換,HELLO,WOrLD!

'3.字符串內(nèi)容判斷 10個(gè)'
num='123'
alp='asd'
num_alp='a1s2d'
printable='`~!@#$%'
print(num.isdigit())             #字符串中的字符是否都是數(shù)字,True
print(alp.isalpha())             #字符串中的字符是否都是字母,True
print(num_alp.isalnum())         #字符串中的字符是否都是字母和數(shù)字,True
print(printable.isprintable())   #字符串中的字符是否都是可輸入字符,True
print(num.isnumeric())           #字符串中的字符是否都是數(shù)字,True
print(alp.islower())             #字符串中的字符是否都是小寫(xiě)字母,True
print(num_alp.isupper())         #字符串中的字符是否都是大寫(xiě)字母,F(xiàn)alse
print(alp.istitle())             #字符串中的字符是形如標(biāo)題Hello World,F(xiàn)alse
print(' '.isspace())             #字符串中的字符是否都是空格,True
print('哈'.isascii())            #字符串中的字符是否可用ascll碼表示,漢字是Unicode編碼表示的所以是False

'4.字符串填充'
str='Welcome'
print(str.center(13,'*'))#***Welcome***
print(str.ljust(10,'+')) #Welcome+++
print(str.rjust(10,'-')) #---Welcome
print(str.zfill(10))     #000Welcome
print('-100'.zfill(10))  #-000000100
print('+100'.zfill(10))  #+000000100

'5.字符串搜索'
str='awasdhiwhhihuasd~hjdsasdihfi'
print(str.index('asd')) #str中有子字符串時(shí)回返回收自費(fèi)所在索引值,若不存在則報(bào)錯(cuò)
try:
    print(str.index('aes'))
except ValueError as v:
    print(v)
print(str.find('asd')) #str中有子字符串時(shí)會(huì)返回首字母所在索引值,若不存在則返回-1
print(str.find('aes'))
print(str.count('asd')) #返回字符串中包含的子串個(gè)數(shù)
print(str.count('aes')) #不存在則返回0

'6.字符串替換'
str='hello,world!'
print(str.replace('world','python')) #生成替換字符的復(fù)制,hello,python!原字符串str未改變
print(str)          #hello,world!
str='awasdhiwhhihuasd~hjdsasdihfi'
print(str.replace('asd','ASD',2))    #awASDhiwhhihuASD~hjdsasdihfi

'7.字符串添加'
#join() 方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串
#用法:str.join(sequence),sequence包括字符串、列表、元祖、集合及字典(字典僅連接key),其中列表、元祖和集合的元素都必須是字符串,否則會(huì)報(bào)錯(cuò)
lis=['I','am','IronMan!']
print(' '.join(lis)) #I am IronMan!
print('*'.join({'1','2'}))
print('-'.join('ABCD'))
print('+'.join(('a','b','c')))
print('~'.join({'a':1,'b':2}))

'8.字符串修剪'
b="qq-qeasdzxcrtqwe----"
print(b.strip('q')) #-qeasdzxcrtqwe----
'9.字符串切割'
b="this is string example"
print(b.split(' ')) #以空格為分割符進(jìn)行切片 ['this', 'is', 'string']
'9.字符串切割'
'''
partition(sep)對(duì)給定字符串進(jìn)行切割,切割成三部分
首先搜索到字符串sep,將sep之前的部分為一部分,sep本身作為一部分,剩下作為一部分

partition()與rpartition()之間十分相似,主要不同體現(xiàn)在當(dāng)字符串中沒(méi)有指定sep時(shí)
partition()分為三部分,字符串、空白、空白
rpartition()分為三部分,空白、空白、字符串'''
test='haoiugdsgfasdhreiuufufg'
print(test.partition('asd')) #('haoiugdsgf', 'asd', 'hreiuufufg')
print(test.partition(' nji'))#('haoiugdsgfasdhreiuufufg', '', '')
print(test.rpartition('njj'))#('', '', 'haoiugdsgfasdhreiuufufg')

4.格式化字符串

格式化字符串可以很好的幫助我們把我們想要的輸出出來(lái),用起來(lái)也很方便,主要有下面幾種形式。

1

2

3

4

5

6

7

#格式化字符串

print         (         'hello,{0} {1} {2}'         .         format         (         'zhong'         ,         'yuan'         ,         'gong'         ))              #通過(guò)位置格式化

print         (         'hello,{name},my name is {self}!!'         .         format         (name         =         'tom'         ,         self         =         'sir'         ))             #通過(guò)key填充

l         =         [         'tom'         ,         'sir'         ]

print         (         'hello,{l[0]},my name is {l[1]}!!'         .         format         (l         =         l))               #通過(guò)數(shù)組的下標(biāo)填充

m         =         {         'name'         :         'tom'         ,         'self'         :         'sir'         }

print         (         'hello,{m[name]},my name is {m[self]}!!'         .         format         (m         =         m))            #通過(guò)字典的key填充,鍵名不加引號(hào)

上面輸出結(jié)果都是:hello,tom,my name is sir!!

5。字符串大小寫(xiě)問(wèn)題

關(guān)于英文字符串的大小寫(xiě)轉(zhuǎn)換問(wèn)題,可以通過(guò)下面幾個(gè)函數(shù)實(shí)現(xiàn)

1

2

3

4

5

6

7

8

9

#首字母大寫(xiě)

a         =         'hello,zHong yUan GoNg!!'

print         (a.title())

#全部大寫(xiě)

print         (a.upper())

#全部小寫(xiě)

print         (a.lower())

#首個(gè)單詞的首字母大寫(xiě)

print         (a.capitalize())

 輸出結(jié)果一次為:

Hello,Zhong Yuan Gong!!
HELLO,ZHONG YUAN GONG!!
hello,zhong yuan gong!!
Hello,zhong yuan gong!!

字符串切片

1

2

3

4

5

6

7

d         =         '123456789'

#獲取第3到6個(gè)字符      

print         (d[         2         :         6         ])             #這里輸入的是字符串的下標(biāo),python中切片時(shí),含前不含后,就如這里輸出的是下標(biāo)2-5的子字符串,而不是下標(biāo)2-6的子字符串。

#獲取最后2個(gè)字符

print         (d[         -         2         :])

#對(duì)字符串進(jìn)行反轉(zhuǎn)

print         (d[::         -         1         ])

 輸出結(jié)果如下:

3456
89
987654321

6.刪除字符串中的空格

1

2

3

4

5

6

7

8

9

c         =         '   hello world !!!     '

#去掉字符串開(kāi)頭和末尾的空格

print         (c.strip())

#去掉字符串左邊的空格

print         (c.lstrip())

#去掉字符串右邊的空格

print         (c.rstrip())

#去掉字符串中所有的空格

print         (c.replace(         ' '         ,''))

輸出依次為:

hello world !!!
hello world !!!     
   hello world !!!
helloworld!!!

注意:這里不要把strip函數(shù)和split函數(shù)搞混了,前者是刪除字符串中指定的字符,默認(rèn)為空格,后者是用指定的字符分割字符串,默認(rèn)也是空格

0x05:更改字符串的編碼

有時(shí)候我們?cè)谶M(jìn)行文件存儲(chǔ)是,會(huì)出現(xiàn)亂碼,這時(shí)候,我們改一下編碼就OK了。方式如下

1

2

3

#轉(zhuǎn)換字符串編碼

e         =         'hello,zhongyuan university,你很好!'

print         (e.encode(         'utf-8'         ))

“python常用字符串函數(shù)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享題目:python常用字符串函數(shù)有哪些
分享網(wǎng)址:http://bm7419.com/article12/jjsdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化