#假設buf裡有很多字串,或者我們可以從buf裡提取出來很多字串,我們需要把這些字串用'\n'連線起來。
str = ''
for s in buf:
str += s + '\n'
執行之後我們會發現程式執行的特別慢,效率非常低,這是為什麼呢?
python裡字串是不可變的,所以每次str += s的時候,都是將str和s拷貝成乙個新的字串,然後賦給str。隨著迴圈的增加,所要拷貝的內容越來越多,字串的長度越來越長,最後導致str0被拷貝n+1此,str1被拷貝n次,呈指數級的增加。
這裡提供兩種解決方案。
f = open('temp.txt', 'w')
for s in buf:
f.write(s+'\n')
f.close()
f = open('temp.txt', 'r')
str = f.read()
f.close()
arr =
for s in buf:
str = ','.join(arr)
python編碼 迴圈新增字串的效率改進
假設buf裡有很多字串,或者我們可以從buf裡提取出來很多字串,我們需要把這些字串用 n 連線起來。str for s in buf str s n 執行之後我們會發現程式執行的特別慢,效率非常低,這是為什麼呢?python裡字串是不可變的,所以每次str s的時候,都是將str和s拷貝成乙個新的字...
Python字串編碼
在python中有些特殊的地方是存在兩種字串,分別為str和unicode字串,他們都繼承自basestring。如 s hello world s為str us u hello world us為unicode。使用help str 和help unicode 可以檢視各自說明,他們都有decod...
python字串編碼
常見字元編碼型別 ascii 美國資訊交換標準碼,是目前計算機中最廣泛使用的字符集編碼。每個 ascii 碼以 1 個位元組 儲存,例如數字字元 0 的 ascii 碼是 0110000,十進位制表示為 48。unicode 為解決世界上上百種語言帶來混合 衝突,各國有各國的標準,顯示很容易出現亂碼...