Python中,要想知道一個字元串有多少個字元(獲得字元串長度),或者一個字元串占用多少個位元組,可以使用len()函數。 語法格式: len(string) string 用於指定要進行長度統計的字元串 示例: a = 'www.baidu.com' print(len(a)) 輸出 13 在 Py ...
Python中,要想知道一個字元串有多少個字元(獲得字元串長度),或者一個字元串占用多少個位元組,可以使用len()函數。
語法格式:
len(string)
string 用於指定要進行長度統計的字元串
示例:
a = 'www.baidu.com'
print(len(a))
輸出
13
在 Python 中,不同的字元所占的位元組數不同,數字、英文字母、小數點、下劃線以及空格,各占一個位元組,而一個漢字可能占 2~4 個位元組,具體占多少個,取決於採用的編碼方式。例如,漢字在 GBK/GB2312 編碼中占用 2 個位元組,而在 UTF-8 編碼中一般占用 3 個位元組。
以 UTF-8 編碼為例,字元串“人生苦短,我用Python”所占用的位元組數如圖 1 所示。
我們可以通過使用 encode() 方法,將字元串進行編碼後再獲取它的位元組數。例如,採用 UTF-8 編碼方式,計算“人生苦短,我用Python”的位元組數,可以執行如下代碼:
示例:
str1 = '人生苦短,我用Python'
print(len(str1.encode()))
輸出
27
因為漢字加中文標點符號共 7 個,占 21 個位元組,而英文字母和英文的標點符號占 6 個位元組,一共占用 27 個位元組。
同理,如果要獲取採用 GBK 編碼的字元串的長度,可以執行如下代碼:
str1 = '人生苦短,我用Python'
print(len(str1.encode('gbk')))
輸出
20
join()方法:合併字元串
使用 join() 方法合併字元串時,它會將列表(或元組)中多個字元串採用固定的分隔符連接在一起。例如字元串“www.baidu.com” 就可以看做是通過分隔符 “.” 將 ['www','baidu','com']列表合併為一個字元串的結果。
語法格式:
newstr = str.join(iterable)
此方法中各參數的含義如下:
- newstr:表示合併後生成的新字元串;
- str:用於指定合併時的分隔符;
- iterable:做合併操作的源字元串數據,允許以列表、元組等形式提供。
示例一:
#Python學習交流群:711312441
list = ['www', 'baidu', 'com']
str = '.'.join(list)
print(str)
輸出
www.baidu.com
示例二:
dir = '', 'usr', 'bin', 'env'
print(type(dir))
str1 = '/'.join(dir)
print(str1)
輸出
<class 'tuple'>
/usr/bin/env