<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>

          常見的字符串操作

          共 2413字,需瀏覽 5分鐘

           ·

          2020-11-30 15:22

          一部分字符串操作的總結,比較基礎。目錄:

          • 使用str.split() 切分數據

          • 將 datetime 類型轉化為字符串類型

          • 字符串的合并操作

          • 使用 str.strip() 去除字符串前面和后面所有的字符串

          • 替代字符串中的某些字符串為另外的字符串

          • Python 中的 i++,i+

          下面簡單的演示。

          使用 str.split() 切分數據

          import?pandas?as?pd
          from?pandas?import?Series,DataFrame
          man?=?pd.DataFrame({
          ????'data':['張三|男','李四|男','王五|男']
          })
          man



          #?使用str.split()?把數據分成兩列
          man?=?man['data'].apply(lambda?x?:Series(x.split('|')))
          man




          將 datetime 類型轉化為字符串類型

          #?將datetime類型轉化為字符串類型
          from?datetime?import?datetime
          stamp?=?datetime(2019,5,1)
          stamp
          datetime.datetime(2019,?5,?1,?0,?0)
          str_stamp=?str(stamp)
          str_stamp
          '2019-05-01?00:00:00'

          字符串的合并操作

          使用 join() 連接字符串數組

          # join():連接字符串數組。將字符串、元組、列表、Series中的元素以指定的字符(分隔符)連接生成一個新的字符串
          a=['1','2','3','4','5']
          text?=?'??'.join(a)
          text
          '1??2??3??4??5'


          使用 + 連接字符串

          #?使用加號
          x?=?'a'?+?'b'
          x
          'ab'


          使用 format() 將多個字符串合并,主要用在變量輸出上

          x?=?'i?am?{1}?and?{0}?years?old'.format(30.,?'Tony')
          x
          'i?am?Tony?and?30.0?years?old'


          使用 Pandas 自帶的 cat() 函數

          #??Series.str.cat(others=None,??#?要合并的另外一個對象,如果為空則將左側對象組合
          #?????????????????sep=None,?????#?合并的分隔符,默認為空
          #?????????????????na_rep=None)??#?如果遇到NA值的處理方式,默認忽略

          EG?=?pd.Series(['a',?'b',?'c']).str.cat(sep=';')
          EG
          'a;b;c'
          EG?=?pd.Series(['a',?'b',?'c']).str.cat(['A',?'B',?'C'],?sep='@@')
          EG
          0??? a@@A
          1????b@@B
          2????c@@C
          dtype:?object


          使用 str.strip() 去除字符串前面和后面所有的字符串

          #?str.strip([chars]);去除字符串前面和后面的所有設置的字符串,默認為空格
          st?=?"???hello????"
          st?=?st.strip()
          print(st?+?'word')
          helloword
          #?刪除字符串'l,?o'
          st?=?st.strip('l,?o')
          print(st)
          he


          替代字符串中的某些字符串為另外的字符串

          #?str.replace(old,?new[,?max])
          # old --?將被替換的子字符串。
          # new --?新字符串,用于替換old子字符串。
          #?max?--?可選字符串,?替換不超過?max?次

          st?=?"hello"
          st?=?st.replace('l',?'a',?1)
          st
          'healo'
          #?替換字符串中的某些子串,可以用正則表達式來匹配被選子串。

          #?re.sub(pattern,?repl,?string,?count=0,?flags=0)
          # pattern:表示正則表達式中的模式字符串;
          # repl:被替換的字符串(既可以是字符串,也可以是函數);
          # string:要被處理的,要被替換的字符串;
          # count:匹配的次數, 默認是全部替換
          import?re

          st?=?"hello?2019"
          st?=?re.sub("([0-9]+)","word",st)
          print(st)
          hello?word


          Python 中的 i++,i+

          順便在這篇基礎下面總結下 Python 中的 i++,i+ 這類寫法和 Java 不一樣。在新手入門時會有點疑問,這里列一下。

          i+1

          這種都是一樣的寫法,沒什么問題,很好理解。

          for?i?in?range(3):
          ????i=i+1
          ????print(i)
          1
          2
          3


          i+

          i+ 就是 Python 中的自增寫法。相當于其他語言的 ++i。

          for?i?in?range(3):
          ????i+=5
          ????print(i)
          5
          6
          7


          i-

          Python 中的自減寫法。

          for?i?in?range(3):
          ????i-=5
          ????print(i)
          -5
          -4
          -3


          ++i

          Python 中的 ++i,僅僅是作為判斷運算符號,類似數學中的負負得正。

          #?體現在這個案例中,就是對結果值沒影響
          for?i?in?range(3):
          ????++i
          ????print(i)
          0
          1
          2


          i++

          Python 中不支持這類寫法,所以直接報錯。

          for?i?in?range(3):
          ????i++
          ????print(i)
          ??File?"",?line?2
          ????i++
          ???????^
          SyntaxError:?invalid?syntax
          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  免费观看a∨视频 | 91av成人| 成人精品一区日本无码网站suv | 操操AV影音 | 久久久久久久伊人大香蕉视频 |