日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一次性汇总了 30+ 字符串常用处理方法

發(fā)布時間:2024/9/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一次性汇总了 30+ 字符串常用处理方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天這篇推文我們就匯總下Python中常用的字符串處理小技巧,字符串在Python數(shù)據(jù)處理中是非常常見且極易忽略的常用數(shù)據(jù)類型,且Python本身也提供大量運算符函數(shù)方法來處理字符串。話不多說,接下來我們就匯總下字符串處理小技巧(ps:都是小編經(jīng)常用到的處理技巧,可能不是很全哦)

字符串常用操作

1、+ 操作

這個操作相對簡單,就是對字符串進行組合,如下:

a?=?"Data" b?=?"Charm" print(a+b)? #?DataCharm

2、* 操作

* 操作一般都是重復字符串的個數(shù),舉例如下:

a="DataCharm" print(a*3) #?DataCharmDataCharmDataCharm

3、in 操作

這個操作在我的數(shù)據(jù)處理過程中經(jīng)常使用到,用于判斷某個字符是否在指定的字符串中,進而進行下一步的操作,這個和pandas數(shù)據(jù)篩選結(jié)合使用,可以快速選擇出對應(yīng)的數(shù)據(jù)。

s?=?"DataCharm" print(s?in?"The?best?place?to?learn?Python?is?DataCharm") #True

根據(jù)返回的 True 或False 結(jié)果就可以靈活進數(shù)據(jù)判斷和數(shù)據(jù)選擇了(結(jié)合pandas布爾類型),而 not in 則是 in 的反操作,其他都是一樣的。

4、[] 和[:] 通過索引獲取字符串中字符

這兩個字符串操作是使用頻次較多的操作了:

  • [] 可通過具體的索引號選擇字符串中的字符;

  • [:] 可以拆分字符串,進而獲取字符串中的一部分。

下面我們通過具體例子進講解,首先,有字符串如下(標注了索引號和反索引號,注意:python正序索引是從0開始,倒序索引從-1開始)

接下來的內(nèi)容我們將直接通過代碼進行展示:

正序取數(shù)

s?=?"DataCharm" s[0] #'D' s[1] #'a' #?一旦取值超過索引范圍,則會顯示出錯,如下: s[9] #IndexError:?string?index?out?of?range

倒序取數(shù)

s?=?"DataCharm" s[-1] #'m'

字符串的切片處理這一部分為字符串常用部分,希望小伙伴們可以仔細閱讀理解

s?=?"DataCharm" s[0:4] #'Data's[:4] #'Data'

還可以:

s[:4]?+?s[4:] #'DataCharm's[:4]?+?s[4:]?==?s #True

對于倒序:

s?=?"DataCharm" s[-5:-2] #'Cha' #相當于正序取數(shù)如下: s[4:7] #'Cha's[-5:-2]?==?s[4:7] #True

切片中我們還可以指定步長

s?=?"DataCharm" s[0:6:2]?#?索引位置0~5,每隔1個進行取數(shù) #'DtC'

將第一個和第二個索引可以省略,并且分別默認為第一個和最后一個字符:

s?=?"DataCharm" s[::2]#?忽略第一個和第二個索引 #?'DtCam's[2::2]#?忽略第二個索引,默認為最后一個字符 #?'tCam'

指定一個負的步長,這種情況下,字符串將倒序取值,且第一個索引應(yīng)大于第二個索引:

s?=?"DataCharm" s[9:0:-2] #?'maCt's[::-2] #?'maCtD'

當設(shè)置為-1時,則將原字符串進行反轉(zhuǎn),這也是較常用的操作之一哦,如下:

s?=?"DataCharm" s[::-1] #?'mrahCataD'

字符串常用內(nèi)置方法

python 字符串操作內(nèi)置了許多處理方法,這里我們只列舉出我在實際使用中常用的的內(nèi)置方法。

s.capitalize():把字符串的第一個字符大寫,其他字符串小寫

s?=?"dataCharm" s.capitalize() #'Datacharm'

s.lower():轉(zhuǎn)換 string 中所有大寫字符為小寫

s?=?"DataCharm" s.lower() #'datacharm'

s.swapcase():將字符串中大寫的變小寫,小寫的變大寫

s?=?"DataCharm" s.swapcase()? #?'dATAcHARM'

s.title():將所有單詞都是以大寫開始,其余字母均為小寫

s?=?"data?charm" s.title() #'Data?Charm'

s.upper():將 string 中的小寫字母為大寫

s?=?"datacharm" s.upper() #'DATACHARM'

s.endswith(obj)和 s.startswith(obj):檢查字符串是否是以 obj 開頭(開頭),是則返回 True,否則返回 False

這兩個字符串內(nèi)置方法為常用方法,特別是數(shù)據(jù)選擇過程中,當然和pandas結(jié)合,實現(xiàn)高效取數(shù)。

s?=?"DataCharm" s.startswith("Data") #True s.endswith("Data") #False

s.strip([chars])、 s.lstrip([chars])和 s.rstrip([chars]):刪除 string 字符串開頭和結(jié)尾、開頭、結(jié)尾的指定的字符(chars)(默認為空格)

該方法為較常使用在數(shù)據(jù)清洗過程中,如爬取的字符串數(shù)據(jù)需要去除多余空格。

s?=?"?DataCharm?" s.strip() #'DataCharm' s.lstrip() #'DataCharm?' s.rstrip() #'?DataCharm'

s.find(str, beg=0, end=len(s)):檢測str是否包含在s 中,如果在 beg 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1。

s.count(str, beg=0, end=len(s)):返回 str 在 s 里面出現(xiàn)的次數(shù),如果 在beg 或者 end 指定指定范圍內(nèi),則返回 str 出現(xiàn)的次數(shù)

s.split("str"):以指定字符(str)分割字符串,返回多個字符串組成的列表。

字符串和列表之間的轉(zhuǎn)換

這個小技巧也是我在數(shù)據(jù)處理過程中經(jīng)常使用的,所以單獨進行講解。

將列表轉(zhuǎn)換成字符串,我們可以使用 .join() 方法操作

list_test?=?['foo',?'bar',?'baz',?'qux'] str_from_list?=?"?".join(list_test) str_from_list #?'foo?bar?baz?qux'type(str_from_list) #?str

將字符串轉(zhuǎn)換成列表,則直接使用s.split()方法即可

str_test?=?"foo?bar?baz?qux" list_from_str?=?str_test.split("?") list_from_str #['foo',?'bar',?'baz',?'qux']type(list_from_str) #list

字符串格式化處理

這里建議大家使用str.format() 方法進行字符串格式化輸出。str.format()基本格式為

"xxx{?}xxx".format(參數(shù))

這里我們列出幾種常見的形式,具體詳細的大家可自行搜索(主要是太多,我列出常用的幾個即可)

#方式一: '{0},?{1},?{2}'.format('a',?'b',?'c') #方式二: '{},?{},?{}'.format('a',?'b',?'c')

指定數(shù)字類型

  • b: 輸出整數(shù)的二進制方式;

  • c: 輸出整數(shù)對應(yīng)的Unicode字符;

  • d: 輸出整數(shù)的十進制方式;

  • o: 輸出整數(shù)的八進制方式;

  • x: 輸出整數(shù)的小寫十六進制方式;

  • X: 輸出整數(shù)的大寫十六進制方式;

保留兩位小數(shù)(使用較多)

'π?is?{:.2f}'.format(3.1415926) #?'π?is?3.14'

數(shù)字千位符格式

'{:,}'.format(123456789) #'123,456,789'

百分比表示

"{:.0%}".format(3/10) #'30%' "{:.3%}".format(3/10) #'30.000%'

日期格式表示

import?datetime date?=?datetime.datetime(2020,?2,?1,?23,?20,?58) '{:%Y-%m-%d?%H:%M:%S}'.format(date) #'2020-02-01?23:20:58'

總結(jié)

以上就是關(guān)于我在實際使用過程中常用的Python字符串操作方法,由于是小編常用到的,可能不是很全,但絕對是常用操作,希望對大家有所幫助,更多Python 字符串操作,小伙伴們可自行搜索哦!

推薦閱讀 誤執(zhí)行了rm -fr /*之后,除了跑路還能怎么辦?!程序員必備58個網(wǎng)站匯總大幅提高生產(chǎn)力:你需要了解的十大Jupyter Lab插件

總結(jié)

以上是生活随笔為你收集整理的一次性汇总了 30+ 字符串常用处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。