2014-02-08 86 views
0

我怎麼能在更短的方式做到這一點:Python列表前綴每個字符串項,追加

vmt = ['title', 'designation', 'company', 'address', 'city', 'country'] 
vmt_copy = [] 
vmt_copy[:] = ['old-%s' % item for item in vmt] 
vmt[len(vmt):] = vmt_copy 
vmt = '|'.join(vmt) 

上面的腳本輸出:

'title|designation|company|address|city|country|old-title|old-designation|old- company|old-address|old-city|old-country'

回答

1
'|'.join(vmt + map(lambda m: 'old-'+m, vmt)) 

這基本上就是你所擁有的。

編輯:

不知道爲什麼,這didnt早些時候發生,我 -

'|'.join(vmt) + '|old-' + '|old-'.join(vmt) 
2
vmt.extend('old-%s' % item for item in vmt[:]) 

必須使用列表的副本,以便您不會創建無限循環的預先考慮和添加。