Python字符串不可不知的6個小技巧分享
字符串格式化
【format】可將標(biāo)識符{}替換為元組中的值,如果{}中未指定序號,則順序替代。
'{} Love {}'.format('I','U')
'I Love U'
如果{}中指定了序號,則按照序號的順序替代
>>> '{0} Love {1}, {1} Love {0}'.format('I','U')
'I Love U, U Love I' #最近被蜜雪冰城洗腦了。。。
當(dāng)然,和C語言一樣,這種格式化用于數(shù)字轉(zhuǎn)化的情況多一些,python中通過:來聲明數(shù)字轉(zhuǎn)化為字符串之后的格式
其中,
^, <, >分別表示居中、左對齊、右對齊+表示在正數(shù)前顯示+,負(fù)數(shù)前顯示 -b、d、o、x分別是二進制、十進制、八進制、十六進制
具體示例如下
>>> from math import pi
| 輸入 | 輸出 | 描述 |
|---|---|---|
| ‘{:.2f}’.format(pi) | ‘3.14’ | 保留兩位小數(shù),四舍五入 |
| ‘{:.2%}’.format(pi) | ‘314.16%’ | 保留兩位小數(shù)的百分?jǐn)?shù) |
| ‘{:+.2f}’.format(1) | ‘+1.00’ | 保留兩位小數(shù),帶符號 |
| ‘{:0>5d}’.format(1) | ‘00001’ | 左側(cè)補0,寬度為5 |
| ‘{:>5d}’.format(1) | ‘01’ | 左側(cè)補空格,寬度為5 |
| ‘{:x<5d}’.format(1) | ‘1xxxx’ | 右側(cè)補x,寬度為5 |
| ‘{:-^5d}’.format(1) | ‘–1–’ | 兩側(cè)補-,寬度為5 |
| ‘{:,}’.format(1e5) | ‘100,000.0’ | 逗號分隔 |
| ‘{:.2e}’.format(1e5) | ‘1.00e+05’ | 科學(xué)計數(shù)法 |
| ‘{:b}’.format(8) | ‘1000’ | 二進制 |
首字母大小寫
python中,字符串內(nèi)置title()函數(shù),可以將字符串內(nèi)每個詞進行首字母大寫。
"python".title()
python字符串提供了.lower和.upper函數(shù),可以進行大小寫轉(zhuǎn)換。據(jù)此可以將首字母重新變?yōu)樾憽?/p>
>>> def deCapitalize(string):
... return string[0].lower() + string[1:]
...
>>> capitalize("Hello")
'hello'
字符串拼接
【join】是字符串的內(nèi)置方法,可以將一個字符串列表,用特定的字符串串聯(lián)起來,組成一個新的字符串,示例如下
>>> date = ['2021','3','10'] >>> '-'.join(date) '2021-3-10'
通過正則表達式統(tǒng)計字母個數(shù)
【re】為python中的正則表達式包,其中re.findall可將正則表達式所選中的內(nèi)容挑出。在正則表達式中,方括號[]內(nèi)部的字符彼此之間是“或”的關(guān)系。
據(jù)此可以統(tǒng)計字符個數(shù),例如統(tǒng)計元音字母[aeiou]的個數(shù),可用如下方
import re
def count_vowels(str):
return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))
count_vowels( foobar ) # 3
count_vowels( gym ) # 0
變位詞
如果兩個單詞中出現(xiàn)的字母相同,且每個字母出現(xiàn)的次數(shù)也相同,則這兩個單詞互為變位詞(Anagram)。
【Counter】是collections中用以統(tǒng)計數(shù)據(jù)中元素個數(shù)的方法,其返回值是個字典,可根據(jù)這個特性來對比兩個字符串是否互為變位詞
from collections import Counter
def isAnagram(first, second):
return Counter(first) == Counter(second)
計算字節(jié)大小
將字符串轉(zhuǎn)化為utf-8編碼后,其長度即為字節(jié)大小。以下方法將以字節(jié)為單位返回字符串長度。
def byte_size(string):
return(len(string.encode('utf-8')))
byte_size("我愛你") # 9
到此這篇關(guān)于Python字符串不可不知的6個小技巧分享的文章就介紹到這了,更多相關(guān)Python字符串技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot中的@MessageMapping注解詳解
這篇文章主要介紹了SpringBoot中的@MessageMapping注解詳解,Spring Boot 提供了對 WebSocket 的支持,其中 @MessageMapping 注解是一個常用的注解,它可以將一個 Java 方法標(biāo)記為 WebSocket 的消息處理器,需要的朋友可以參考下2023-08-08
Python numpy實現(xiàn)數(shù)組合并實例(vstack,hstack)
這篇文章主要介紹了Python numpy實現(xiàn)數(shù)組合并(官網(wǎng)實例),涉及vstack,hstack的簡單用法,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Python 安裝 virturalenv 虛擬環(huán)境的教程詳解
這篇文章主要介紹了Python 安裝 virturalenv 虛擬環(huán)境的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
selenium鼠標(biāo)操作實戰(zhàn)案例詳解
在實際場景中,會有單擊、長時間單擊、雙擊、右鍵、拖拽等鼠標(biāo)操作,selenium提供了名為ActionChains的類來處理這些操作,下面這篇文章主要給大家介紹了關(guān)于selenium鼠標(biāo)操作實戰(zhàn)案例的相關(guān)資料,需要的朋友可以參考下2023-05-05
Python基礎(chǔ)之?dāng)?shù)據(jù)類型詳解
python的數(shù)值類型包括整數(shù),浮點數(shù),復(fù)數(shù),集合,小數(shù)和分?jǐn)?shù),布爾值.它們都是python中的數(shù)值類型.如果是有過其他語言編寫經(jīng)驗的人,一定很好奇,浮點數(shù)和小數(shù)的區(qū)別是什么?文中有非常詳細的介紹,需要的朋友可以參考下2021-06-06

