python字串的一些常用小技巧

2021-10-03 20:08:32 字數 3310 閱讀 2791

字串的操作是經常用到的,即使去面試,面試官也會必問幾個字串處理的問題考察應聘者基礎,我就先拋磚引玉把自己用過的字串處理先分享出來,歡迎拍磚

字串的拆分可以直接利用split函式進行實現,返回的是列表

print

(str1.split(

" ")

)#output

['hello'

,'python'

]

這裡再提乙個函式strip(),他的作用是預設去掉字串首尾的空格

str2 =

" hello "

print

(str2.strip())

#output

hello

list1 =

["hello"

,"python"

]print

(" "

.join(list1)

)#output

hello python

字串合併是利用python的join()函式,將序列中的元素以指定的字元(這裡是空格)連線生成乙個新的字串

python裡面對字串分片是非常簡便的,廢話不多說,直接看**

str1 =

"hello python"

print

(str1[2:

8])#output llo py

print

(str1[:2

])#output he

print

(str1[:-

2])#output hello pyth

print

(str1[-5

:-2]

)#output yth

從結果應該就能看出來,預設從第乙個字元開始計算,也可以自己設定起始字串,負號表示從字串末尾開始計數

但是要注意的是這裡的分片並不是真正意義上的切割,並沒有改變原始字串的長度,和split函式是不一樣的

字串的翻轉和上述用法類似,只是要多乙個冒號而已

print

(str1[::

-1])

print

(str1[::

-2])

print

(str1[::

1])print

(str1[::

2])#output

nohtyp olleh

nhy le

hello python

hlopto

這裡的負號就表示是翻轉,而數字表示間隔多少個字元

字串的回文判斷就可以利用翻轉的技巧

if str1 == str1[::

-1]:

print

("是回文字串"

)else

:print

(str1 +

"不是回文字串"

)#output

hello python不是回文字串

print

(str1.title())

#單詞首字母大寫

print

(str1.upper())

#單詞所有字母大寫

print

(str1.upper(

).lower())

#單詞所有字母小寫

print

(str1.capitalize())

#字串字母大寫

#output

hello python

hello python

hello python

hello python

注意我們是要判斷字串所含元素是否相同,不是相等,直接看例子吧,這樣會更明白一點

from collections import counter

str1 =

"hello"

str2 =

"hlloe"

str3 =

"lolhe"

cn_str1,cn_str2,cn_str3 = counter(str1)

,counter(str2)

,counter(str3)

print

(cn_str1,cn_str2,cn_str3)

if(cn_str1==cn_str2 and cn_str2==cn_str3)

:print

("所含元素相同"

)#output

counter(

) counter(

) counter(

)所含元素相同

我們判斷元素相同是忽略掉元素的順序,簡單來說就是統計一下每個字串的元素和每個元素出現的次數是否都相同,所以這就是我們這裡會用到python的用於統計的庫

我們也順便看一下出現次數最多的元素吧,以str1為例

print

(counter(str1)

.most_common(2)

)#output:[(

'l',2)

,('h',1)

]

這裡我們列印的是出現次數最多的前兩個元素

str1 =

"123456"

list1 =

list

(map

(int

,str1)

)print

(list1)

#output[1

,2,3

,4,5

,6]

如果不這麼處理,直接轉列表的話,結果會是這樣的

print

(list

(str1)

)#output

['1'

,'2'

,'3'

,'4'

,'5'

,'6'

]

這樣存到列表的就不是數字,而是字串,這裡我就簡單介紹一下map函式的應用

map() 會根據提供的函式對指定序列做對映。第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表,具體用法一般是

map

(function, iterable,iterable...

)

我們這裡使用map就相當於把字串的每個元素都轉為int型別資料存放在列表中

python 關於字串的一些常用方法

s i j 表示擷取下標i到下標j 此處不包含位置j的元素 的字串,例如以下程式 s abcdefg print s 1 4 輸出結果 bcd若要實現字串的翻轉則使用 s 1 例如以下程式 s abcdefg print s 1 輸出結果為 gfedcba使用python的內建函式sorted 返回...

字串的一些常用方法

字串的其他常用方法 1.字串的轉換函式 nsstring str1 111add333 int a1 str1 intvalue float b1 str1 floatvalue double c1 str1 doublevalue nslog d a1 2.字串大小寫轉換函式 nsstring s...

一些字串的常用函式

char st 100 1.字串長度 strlen st 2.字串比較 strcmp st1,st2 1大於 0等於 1小於 strncmp st1,st2,n 把st1,st2的前n個進行比較。3.附加 strcat st1,st2 strncat st1,st2,n n表示連線上st2的前n個給...