我有一个代码,用于连接列表中每个项目的字符串'lst'。
i = 0
lim = len(lst)
while i < lim:
lst[i] = 'lst%s' % (lst[i])
i += 1
有更快的方法吗?
答案 0 :(得分:3)
这将修改原始的lst
对象:
lst[:] = ['lst%s' % item for item in lst]
或使用新样式字符串格式:
lst[:] = ['lst{}'.format(item) for item in lst]
答案 1 :(得分:1)
使用列表推导切片分配:
lst[:] = ['lst' + x for x in lst]
答案 2 :(得分:0)
这是地图版
lst = map(lambda x: 'lst%s' % x, lst)
答案 3 :(得分:0)
有趣的地图版
>>> lst=['foo', 'bar', 'baz']
>>> map('lst'.__add__, lst)
['lstfoo', 'lstbar', 'lstbaz']
但更严重的是,您可以从生成器表达式中分配切片
>>> lst[:] = ('lst{}'.format(x) for x in lst)
>>> lst
['lstfoo', 'lstbar', 'lstbaz']