天天看點

Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

今天我們說了字元串的基礎,格式化,這次我們講解字元串的常用函數,不要錯過! (文本送書,評論區抽取一位送書)

前兩篇都在本文同個專欄,歡迎關注。下面開始講解。

https://blog.csdn.net/geeklevin/article/details/121155592?spm=1001.2014.3001.5501 字元串都有哪些操作?

Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

實際開發都有這些需求:

第一大類:判斷識别字元串

判斷字元串屬于那種字面類型(數字,全字母,其他)

判斷字元串包含某些結構(數字大寫,局部子串,子串出現頻次等)

第二類:字元串編輯的操作(生成新字元串)

字元串的替換/合并/填充等

字典替換,填充0值,清空操作等

第三類:字元串跟位元組串的互轉。

這類操作通常發生在資料跨程式/跨伺服器傳輸,我們傳輸bytes,然後擷取轉string類型。

第一類 判斷識别字元串

學委準備了下面的代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat1.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"

# 判斷結構
print("算某個子串出現數次: slogan.count('keep') = ", slogan.count('keep'))
print("找某個子串首次出現的下标: slogan.find('keep') = ", slogan.find('keep'))
print("找某個子串最後出現的下标: slogan.rfind('keep') = ", slogan.rfind('keep'))
print("找某個子串下标: slogan.index('keep') = ", slogan.index('keep'))
print("找某個子串下标: slogan.rindex('keep') = ", slogan.rindex('keep'))
print("是否'keep'開頭的字元串: slogan.startswith('keep') = ", slogan.startswith('keep'))
print("是否'keep'結束的字元串: slogan.endswith('keep') = ", slogan.endswith('keep'))


# 字元串屬性相關
print("字元串長度: len(slogan) = ", len(slogan))
print("字元串是否都是空格: slogan.isspace() = ", slogan.isspace())
print("字元串是否大寫: slogan.isupper() = ", slogan.isupper())
print("字元串是否小寫: slogan.islower() = ", slogan.islower())
print("字元串是否為每個詞首字母都大寫: slogan.istitle() = ", slogan.istitle())

# 判斷字元串資料類型
print("字元串是否全為字母: slogan.isalpha() = ", slogan.isalpha())
print("字元串是否全為數字: slogan.isalnum() = ", slogan.isalnum())
print("字元串是否數字: slogan.isnumeric() = ", slogan.isnumeric())
print("字元串是否浮點數: slogan.isdecimal() = ", slogan.isdecimal())
print("字元串是否為空格串: slogan.isspace() = ", slogan.isspace())
      

讀者可以直接複制運作代碼,學委補充了運作效果圖:

Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

第二類 字元串編輯的操作

下面學委準備了一些代碼展示:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat2.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"

print("首字母大寫: slogan.capitalize() = ", slogan.capitalize())
print("全部字母大寫: slogan.upper() = ", slogan.upper())
print("全部字母小寫: slogan.lower() = ", slogan.lower())
print("轉為首字母都大寫(标題風格): slogan.title() = ", slogan.title())
print("大小寫逆轉: slogan.swapcase() = ", slogan.swapcase())

table = slogan.maketrans({"e": "5"})
print("字元串替換表: slogan.translate(table) = ", slogan.translate(table))

# 字元串替換,合并,填充等
print("替換tabs為n個空格: 'hello\t學委'.expandtabs(4) = '", "hello\t學委".expandtabs(4))
print("左子串來串聯傳入的清單: ' '.join(slogan) = '", " ".join(slogan))
print("替換子串: ' '.replace(first, second) = '", slogan.replace("e", "11"))
print("填充0值: slogan.rzfill(2)= '", slogan.zfill(50))
print("填充#值: slogan.rjust(50,"#")= '", slogan.rjust(50,"#"))
print("填充#值: slogan.ljust(50,"#")= '", slogan.ljust(50,"#"))
print("移除首尾空格: slogan.strip()= '", slogan.strip())

data = slogan.split("e")
print("split slogan into data= ", data)
      

運作效果如下:

Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

第三類:字元串跟位元組串的互轉

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat3.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"
bytes = slogan.encode("utf-8")
print("type of encoded string = ", type(bytes))
# 注意python的string類型沒有decode函數,該函數屬于bytes類型對象特有!!!
print("type of decoded byte = ", type(bytes.decode("utf-8")))
print("type of decoded byte = ", bytes.decode("utf-8"))
      
Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

書籍贈送 - 《大資料分析實用教程——基于Python實作》

Python中處理字元串的常用函數彙總【文末送書】字元串都有哪些操作?第二類 字元串編輯的操作第三類:字元串跟位元組串的互轉書籍贈送 - 《大資料分析實用教程——基于Python實作》

【簡介】

本書對大資料分析的原理與Python程式實作進行了系統的介紹,每種算法都采用sklearn和Matplotlib分别進行程式實作及資料可視化。

本書共8章,内容包括大資料分析概述、Python資料分析與可視化基礎、關聯規則與推薦算法、聚類算法及其應用、分類算法及其應用、回歸與邏輯回歸、人工神經網絡、支援向量機等。

本書在理論上突出可讀性,在實踐上強調可操作性,實踐案例豐富,實用性強。随書提供微課視訊(正文對應處掃碼可觀看)、教學課件、習題答案、教學大綱等教學資源。

本書可作為高等院校相關專業大資料分析或大資料概論等課程的教材。也可供從事大資料分析、機器學習的人員作為參考書。

【作者】

這本書由三位作者聯合主編:唐四薪, 趙輝煌, 唐瓊。

唐四薪,男,1980年11月出生,湖南湘潭人。碩士,畢業于中南大學,現為衡陽師範學院計算機學院講師,主要從事計算機相關專業的教學與研究。資深計算機圖書作者,清華大學出版社暢銷書作者

檢視百度百科可以發現這是一位長期寫作的作者,值得期待。

【編輯推薦】

書籍内掃碼有配套微課,注重操作性

大量操作實驗,參考答案

足夠适量的大資料基礎補充

大資料分析、機器學習是當下熱門,值得學習

目錄和更多書籍資訊

https://item.jd.com/10035055672444.html https://product.suning.com/0071151794/12304785309.html

作為大資料從業人員,學委看到了很多契合的技術,同時書内講解的算法(K-mean,貝葉斯分類等),相關庫(Numpy,SciPy,sklearn,Tensorflow等),軟體(Anaconda)這些都是日常高頻出現的。

就跟字元串處理的脈絡一樣,這些技術構成了資料分析的脈絡,也豐富發展了資料分析資料科學這個領域,可以看看。

總結

學委并未把str字元串的所有函數都羅列了,程式設計不是刻闆的,必須抓住重點。

學習程式設計不是去記憶,但是也并非啥都不看都靠感覺。

我喜歡下面這句話:

讀書破萬卷,下筆如有神!

精心準備的代碼,讀者運作一下,自己感悟!(注釋寫的很清楚了)