如何以更短的方式执行此操作:
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'
答案 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)