2010-10-18 59 views
0

常見的加速比字符串連接正在改變像如何加速雙嵌套列表中字符的字符串構造?

s = "" 
for x in list: 
    s += some_function(x) 

slist = [some_function(elt) for elt in somelist] 
s = "".join(slist) 

但是,這怎麼可能適用,如果你「的」被雙重嵌套?例如...

s = "" 
for x in list: 
    for y in x: 
     s += some_function(y) 
+1

Tangental:注意,特別是在CPython中的較新版本,追加到一個字符串實際上是非常快,使用陣列連接不再是一個重大改進。 (由於GC問題,這不會轉化爲Jython。) – 2010-10-18 02:08:32

回答

2
''.join(func(c) for s in somelist for c in s) 
1
string_list = [] 
for x in list: 
    for y in x: 
     string_list.append(some_function(y)) 

the_string = ''.join(string_list) 
相關問題