<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一次性匯總了 30+ 字符串常用處理方法

          共 3663字,需瀏覽 8分鐘

           ·

          2021-02-13 12:31

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

          字符串常用操作

          1、+ 操作

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

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

          2、* 操作

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

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

          3、in 操作

          這個操作在我的數(shù)據(jù)處理過程中經(jīng)常使用到,用于判斷某個字符是否在指定的字符串中,進(jìn)而進(jìn)行下一步的操作,這個和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é)果就可以靈活進(jìn)數(shù)據(jù)判斷和數(shù)據(jù)選擇了(結(jié)合pandas布爾類型),而 not in 則是 in 的反操作,其他都是一樣的。

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

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

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

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

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

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

          正序取數(shù)

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

          倒序取數(shù)

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

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

          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'
          #相當(dāng)于正序取數(shù)如下:
          s[4:7]
          #'Cha'

          s[-5:-2]?==?s[4:7]
          #True

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

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

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

          s?=?"DataCharm"
          s[::2]#?忽略第一個和第二個索引
          #?'DtCam'

          s[2::2]#?忽略第二個索引,默認(rèn)為最后一個字符
          #?'tCam'

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

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

          s[::-2]
          #?'maCtD'

          當(dāng)設(shè)置為-1時,則將原字符串進(jìn)行反轉(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ù)選擇過程中,當(dāng)然和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)(默認(rèn)為空格)

          該方法為較常使用在數(shù)據(jù)清洗過程中,如爬取的字符串?dāng)?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)常使用的,所以單獨進(jìn)行講解。

          將列表轉(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() 方法進(jìn)行字符串格式化輸出。str.format()基本格式為

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

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

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

          指定數(shù)字類型

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

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

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

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

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

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

          保留兩位小數(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插件

          瀏覽 71
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷五月综合 | 噜噜吧噜噜久久综合 | 一区性感在线观看 | 亚洲欧美久久 | 精品视频不卡一区北条麻妃 |