Python,在列表中的每个项目上附加字符串

时间:2013-06-07 05:46:01

标签: python arrays string list append

我有一个代码,用于连接列表中每个项目的字符串'lst'。

    i = 0
    lim = len(lst)
    while i < lim:
        lst[i] = 'lst%s' % (lst[i])
        i += 1

有更快的方法吗?

4 个答案:

答案 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']