中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

秘籍:10個Python字符串處理技巧(附代碼)

2020-03-03    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
作者: 馬修·梅奧 翻譯:陳之炎  來源:數據派THU

本文為你介紹利用Python處理字符串的一些基本操作。

在探尋文本分析途徑時卻不知從何下手,該怎么辦?那么可以通過這個字符串處理入門教程,來了解一下利用Python處理字符串的一些基本操作。

當前,自然語言處理和文本分析是研究和應用的熱點領域。這些領域包括各種具體的技能和概念,在深入具體實踐之前需要對它們有徹底的理解,為此,必須掌握一些基本的字符串操作和處理技巧。

在我看來,必須掌握兩種字符串處理技巧:首先是正則表達式,一種基于模式的文本匹配方法。關于正則表達式有許多精彩的介紹,但是喜歡通過視頻學習的朋友仍然可以從這個視頻中受益良多:

fast.ai代碼 -初涉自然語言處理:

https://youtu.be/Q1zLqfnEXdw?list=PLtmWHNX-gukKocXQOkQjuVxglSDYWsSh9&t=630

另一個必備的字符串處理技能是:能夠利用給定編程語言的標準庫進行基本的字符串操作。為此,本文便是一個簡短的Python字符串處理入門教程,旨在為那些以文本分析作為職業(yè)的人士尋求更為深入的研究,拋磚引玉。

想對公司所有的文本有深入理解,發(fā)掘出其中的價值嗎?首先,應了解最基本的基礎知識,下面,來了解一下這些初學者的技巧。

注意,有實際意義的文本分析遠遠超出字符串處理的范疇,那些更先進的核心技術可能不需要你頻繁的親自對文本進行操作。然而,對于一個成功的文本分析項目來說,文本數據預處理是非常重要而耗時的環(huán)節(jié),所以,本文涵蓋的字符串處理技能將很有價值。在基礎層面上理解文本的計算處理對于理解更為先進的文本分析技術同樣重要。

文中的一些示例使用Python標準庫:string module字符串模塊,為此,最好準備好string module以備參考。

string module字符串模塊鏈接:

https://docs.python.org/2/library/string.html

1. 空格剝離

空格剝離是字符串處理的一種基本操作,可以使用lstrip()方法(左)剝離前導空格,使用rstrip()(右)方法對尾隨空格進行剝離,以及使用strip()剝離前導和尾隨空格。

 

 

對剝離除空格以外的字符感興趣嗎?同樣的方法也很有用,可以通過傳遞想要剝離的字符來剝離字符。

 

 

必要時不要忘記檢查字符串 format()文檔。

format()文檔:

https://docs.python.org/3/library/stdtypes.html#str.format

2. 字符串拆分

利用Python中的 split() 方法可以輕易將字符串拆分成較小的子字符串列表。

split() 方法:

https://docs.python.org/3/library/stdtypes.html#str.split

 

 

默認情況下,split()根據空格進行拆分,但同樣也可以將其他字符序列傳遞給split()進行拆分。

 

 

3. 將列表元素合成字符串

需要實現上述操作的一個逆向操作?沒問題,利用Python中的join()方法便可將列表中的元素合成一個字符串。

join()方法:

https://docs.python.org/3/library/stdtypes.html#str.join

 

 

事實果真如此!如果想將列表元素用空格以外的東西連接起來?這可能有點陌生,但也很容易實現。

 

 

4. 字符串反轉

Python沒有內置的字符串反轉方法。但是,可以先將字符串看做是字符的列表,再利用反轉列表元素的方式進行反轉。

5. 大小寫轉換

利用upper(), lower(),和swapcase()方法可以進行大小寫之間的轉換。

upper()方法:

https://docs.python.org/3/library/stdtypes.html#str.upper

lower()方法:

https://docs.python.org/3/library/stdtypes.html#str.lower

swapcase()方法:

https://docs.python.org/3/library/stdtypes.html#str.swapcase

 

 

6. 檢查是否有字符串成員

在Python中檢查字符串成員的最簡單方法是使用in運算符,語法與自然語言非常類似。

 

 

如果對找到字符串中子字符串的位置更感興趣(而不是簡單地檢查是否包含子字符串),則利用find()方法可能更為有效。

 

 

默認情況下,find()返回子字符串第一次出現的第一個字符的索引,如果找不到子字符串,則返回-1。對這一默認情況拿捏不準時,可以查閱一下相關文檔。

7. 子字符串替換

找到子字符串之后,如果想替換這一子字符串,該怎么辦?Python 中的replace()字符串方法將解決這一問題。

replace()字符串方法:

https://docs.python.org/3/library/stdtypes.html#str.replace

 

 

如果同一個子字符串出現多次的話,利用計數參數這一選項,可以指定要進行連續(xù)替換的最大次數。

8. 組合多個列表的輸出

如何以某種元素的方式將多個字符串列表組合在一起?利用zip()函數便沒問題。

zip()函數:

https://docs.python.org/3/library/functions.html#zip

 

 

9. 同字母異序詞檢查

想檢查一對字符串中,其中一個字符串是否是另一個字符串的同字母異序詞?從算法上來講,需要做的是對每個字符串中每個字母的出現次數進行計數,再檢查二者計數值是否相等,直接使用collections模塊的Counter類便可實現。

collections模塊的Counter類:

https://docs.python.org/3/library/collections.html#collections.Counter

 

 

10. 回文檢查

如果想檢查給定的單詞是否是回文,怎么辦?從算法上看,需要創(chuàng)建一個單詞的反轉,然后利用 == 運算符來檢查這2個字符串(原始字符串和反向字符串)是否相等。

 

 

雖然掌握這些字符串處理“技巧”之后,并不意味著你已經成為了文本分析或自然語言處理專家,但這些技巧可能會激發(fā)出深入探究自然語言處理領域的興趣,并掌握最終成為專家所必備的技能。

相關文獻:

文本數據預處理:Python演練

https://www.kdnuggets.com/2018/03/text-data-preprocessing-walkthrough-python.html

Python中的·文本預處理:步驟、工具和示例https://www.kdnuggets.com/2018/11/text-preprocessing-python.html

文本數據分析完整探索與可視化:可視化與NLP相結合https://www.kdnuggets.com/2019/05/complete-exploratory-data-analysis-visualization-text-data.html

原文標題:10 Python String Processing Tips & Tricks

原文鏈接:https://www.kdnuggets.com/2020/01/python-string-processing-primer.html

標簽: Python

版權申明:本站文章部分自網絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:數據越多能耗越大?《科學》最新算法模型揭示,全球數據中心能耗并沒有想得那么多

下一篇:大數據、人工智能、無人機鏈等在抗擊新冠肺炎疫情中大顯身手