乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python字符串

       豬一樣迷人 2019-12-14

      日常使用python經(jīng)常要對文本進行處理,無論是爬蟲的數(shù)據(jù)解析,還是大數(shù)據(jù)的文本清洗,還是普通文件的處理,都是要用到字符串.。Python對字符串的處理內(nèi)置了很多高效的函數(shù),非常方便功能很強大。下面是我總結(jié)的常用的7招,有了這幾招就能輕松應(yīng)對字符串處理。

      整理到頭皮發(fā)麻~改天做個小測試,看看有沒有人在看!

      1.字符串的連接和合并

      連接和合并

      1)相加 >>>兩個字符串可以很方便的通過' '連接起來

      str1 = 'hello'
      str2 = 'forchange'
      new_str = str1 str2
      print(new_str)
      >>>helloforchange

      2)合并>>>用join方法

      url = ['www','pypypy','cn']
      print('.'.join(url))
      >>>www.pypypy.cn
      # 注意:這里的太多'.'一定要加上哈,你不加就是語法錯誤,固定格式。有能力的同學(xué)可以看一下python的官方文檔~沒有也沒事,畢竟我也沒看完。

      2.字符串的切片和相乘

      1)相乘>>>比如寫代碼的時候要分隔符,用python很容易實現(xiàn)

      line='#'*30
      print(line)
      >>##############################

      2)切片

      str = 'fengbian is very good'
      print(str[0:10]) #表示取第一個到第10個的字符串
      >>>fengbian i #注意:空格在字符串也算一個字符
      # 上面肯定又有同學(xué)混亂了,不是左取右不取嘛,怎么第10位也取了。大哥,人家偏移量(下標(biāo))是從0開始的嘛,那我們習(xí)慣數(shù)數(shù)的時候是從1開始嘛,好不好?頭給你錘歪~

      3.字符串的分割

      1)普通的分割,用split,分割和切片不同哈。

      split只能做非常簡單的分割,而且不支持多個分隔

      print(phone.split('-'))
      >>['400', '800', '800', '1234']

      2)復(fù)雜的分割

      r表示不轉(zhuǎn)義,分隔符可以是;或者,

      空格后面跟0個多個額外的空格,然后按照這個模式去分割

      line = 'learn programme; I ,like, fengbian'
      import re
      print(re.split(r'[;,s]\s*',line))
      >>>['learn programme', 'I ', 'like', 'fengbian']

      好了,肯定又有同學(xué)要問我這是啥啊,我看不懂~~~我也沒看懂,哈哈哈哈哈哈哈哈,開個玩笑

      注意看,line一開始是字符串,里面的;,兩個符號都要用英文,在寫代碼的時候,一般遇到符號自動切成英文輸入法,不然到后面很多語法你會發(fā)現(xiàn),明明照寫了,為嘛還是不能實現(xiàn)出別人的效果,我剛剛就犯了這個錯誤,在電腦前抓耳饒腮了半個小時,差點兒砸電腦了~

      說道哪了,回正題~re.split(r'[;,s]\s*',line ,這個屬于固定格式,line不算哈,那個是變量名。

      你也看到了,打印出來的結(jié)果是一個列表,里面的每個元素都是字符串,這個沒毛病吧。那么這個玩意到底會在哪個場景用到,以后做數(shù)據(jù)清洗的時候會用到~

      4.字符串的開頭和結(jié)尾的處理

      比方我們要查一個文件的名字是以什么開頭或者什么結(jié)尾

      filename='trace.h'
      print(filename.endswith('h'))
      >>True
      print(filename.startswith('trace'))
      >>True

      5.字符串的查找和匹配

      1)一般查找

      在長的字符串里面查找子字符串,會返回子字符串所在位置的索引, 若找不到返回-1

      title = 'I like you, fengbian,I\'m a better person because of you'
      print(title.find('you'))
      >>>8

      哥,數(shù)的時候從0開始數(shù),下標(biāo)是從0開始的啊,哦對了,空格也要數(shù)~瘋狂提醒

      2)復(fù)雜的匹配

      mybirthday = '1996/05/28'
      import re
      if re.match(r'\d /\d /\d ',mybithday):
      print('ok,match')
      esle:
      print('ko not match')
      >>>ok,match

      這個我還沒想到很好的比喻給你們解釋,等想到了,我在提醒你們來看~偷懶!

      6.字符串的替換

      1)普通的替換

      用replace就可以

      text ='I like you, fengbian,I\'m a better person because of you'
      print(text.replace('like','love'))
      >>>I love you, fengbian,I'm a better person because of you

      2)復(fù)雜的替換

      若要處理復(fù)雜的或者多個的替換,需要用到re模塊的sub函數(shù)

      import re
      myinfo = 'height 173,weight 120'
      print(re.sub(r'\d ','180',myinfo))
      >>>height 180,weight  180

      這個也留著,以后一起解釋~


      7.字符串中去掉一些字符

      1)去除空格

      對文本處理的時候比如從文件中讀取一行,然后需要去除每一行的兩側(cè)的空格,table或者是換行符

      line='  Congratulations, you guessed it.    '
      print(line.strip())
      >>Congratulations, you guessed it.

      注意:字符串內(nèi)部的空格不能去掉,若要去掉需要用re模塊

      2)復(fù)雜的文本清理可以利用str.translate,

      先構(gòu)建一個轉(zhuǎn)換表,table是一個翻譯表,表示把't''o'轉(zhuǎn)成大寫的'T' 'O',

      然后在old_str里面去掉'12345',然后剩下的字符串再經(jīng)過table翻譯

      import string
      instr = 'to'
      outstr = 'TO'
      old_str = 'hello woold,welcome to use python.123456'
      table = old_str.maketrans(instr,outstr)
      new_str = old_str.translate(table)
      print(new_str)
      >>>hellO wOOld,welcOme TO use pyThOn.123456

      注釋:這一章節(jié)還有些不完整~后續(xù)更新我會提醒各位

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多