python list前缀每个字符串项并追加

时间:2014-02-08 16:10:10

标签: python list

如何以更短的方式执行此操作:

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'

2 个答案:

答案 0 :(得分:2)

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

您必须使用列表的副本,这样才不会创建前置和添加的无限循环。

答案 1 :(得分:1)

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

这基本上就是你所拥有的。

编辑:

不知道为什么我之前没有发生这种情况 -

'|'.join(vmt) + '|old-' + '|old-'.join(vmt)