Python字符串不可不知的6個小技巧分享
字符串格式化
【format】可將標識符{}替換為元組中的值,如果{}中未指定序號,則順序替代。
'{} Love {}'.format('I','U')
'I Love U'
如果{}中指定了序號,則按照序號的順序替代
>>> '{0} Love {1}, {1} Love {0}'.format('I','U')
'I Love U, U Love I' #最近被蜜雪冰城洗腦了。。。
當然,和C語言一樣,這種格式化用于數(shù)字轉化的情況多一些,python中通過:來聲明數(shù)字轉化為字符串之后的格式
其中,
^, <, >分別表示居中、左對齊、右對齊+表示在正數(shù)前顯示+,負數(shù)前顯示 -b、d、o、x分別是二進制、十進制、八進制、十六進制
具體示例如下
>>> from math import pi
| 輸入 | 輸出 | 描述 |
|---|---|---|
| ‘{:.2f}’.format(pi) | ‘3.14’ | 保留兩位小數(shù),四舍五入 |
| ‘{:.2%}’.format(pi) | ‘314.16%’ | 保留兩位小數(shù)的百分數(shù) |
| ‘{:+.2f}’.format(1) | ‘+1.00’ | 保留兩位小數(shù),帶符號 |
| ‘{:0>5d}’.format(1) | ‘00001’ | 左側補0,寬度為5 |
| ‘{:>5d}’.format(1) | ‘01’ | 左側補空格,寬度為5 |
| ‘{:x<5d}’.format(1) | ‘1xxxx’ | 右側補x,寬度為5 |
| ‘{:-^5d}’.format(1) | ‘–1–’ | 兩側補-,寬度為5 |
| ‘{:,}’.format(1e5) | ‘100,000.0’ | 逗號分隔 |
| ‘{:.2e}’.format(1e5) | ‘1.00e+05’ | 科學計數(shù)法 |
| ‘{:b}’.format(8) | ‘1000’ | 二進制 |
首字母大小寫
python中,字符串內置title()函數(shù),可以將字符串內每個詞進行首字母大寫。
"python".title()
python字符串提供了.lower和.upper函數(shù),可以進行大小寫轉換。據(jù)此可以將首字母重新變?yōu)樾憽?/p>
>>> def deCapitalize(string):
... return string[0].lower() + string[1:]
...
>>> capitalize("Hello")
'hello'
字符串拼接
【join】是字符串的內置方法,可以將一個字符串列表,用特定的字符串串聯(lián)起來,組成一個新的字符串,示例如下
>>> date = ['2021','3','10'] >>> '-'.join(date) '2021-3-10'
通過正則表達式統(tǒng)計字母個數(shù)
【re】為python中的正則表達式包,其中re.findall可將正則表達式所選中的內容挑出。在正則表達式中,方括號[]內部的字符彼此之間是“或”的關系。
據(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é)大小
將字符串轉化為utf-8編碼后,其長度即為字節(jié)大小。以下方法將以字節(jié)為單位返回字符串長度。
def byte_size(string):
return(len(string.encode('utf-8')))
byte_size("我愛你") # 9
到此這篇關于Python字符串不可不知的6個小技巧分享的文章就介紹到這了,更多相關Python字符串技巧內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python從入門到實戰(zhàn)之數(shù)據(jù)結構篇
數(shù)據(jù)結構中有很多樹的結構,其中包括二叉樹、二叉搜索樹、2-3樹、紅黑樹等等。本文中對數(shù)據(jù)結構進行了總結,不求嚴格精準,但求簡單易懂2021-11-11
python list中append()與extend()用法分享
列表是以類的形式實現(xiàn)的?!皠?chuàng)建”列表實際上是將一個類實例化。因此,列表有多種方法可以操作2013-03-03
pandas中Series和DataFrame的rank方法解析
pandas中的rank方法是用于數(shù)據(jù)排名的重要工具,它不返回排序后的數(shù)據(jù),而是數(shù)據(jù)的排名。rank方法可以處理相同數(shù)據(jù)的排名,通過平均排名方式解決排名沖突,并支持自定義排序規(guī)則及逆序排名。此外,DataFrame的rank方法允許在行或列上計算排名2024-09-09
python?包實現(xiàn)?urllib?網絡請求操作
這篇文章主要介紹了python包實現(xiàn)urllib網絡請求操作,urllib?是?Python?標準庫中用于網絡請求的庫,下面urllib的相關資料介紹,需要的小伙伴可以參考一下2022-04-04

