Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,在列表中的每个项目上追加字符串_Python_Arrays_String_List_Append - Fatal编程技术网

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

Python,在列表中的每个项目上追加字符串,python,arrays,string,list,append,Python,Arrays,String,List,Append,我有一个代码,在列表的每一项上连接一个字符串'lst' i = 0 lim = len(lst) while i < lim: lst[i] = 'lst%s' % (lst[i]) i += 1 有没有更快的方法来完成此任务?使用列表理解片分配: lst[:] = ['lst' + x for x in lst] 使用列表指定: lst[:] = ['lst' + x for x in lst] 这将修改原始lst对象: 或使

我有一个代码,在列表的每一项上连接一个字符串'lst'

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

有没有更快的方法来完成此任务?

使用列表理解片分配:

lst[:] = ['lst' + x for x in lst]

使用列表指定:

lst[:] = ['lst' + x for x in lst]

这将修改原始lst对象:

或使用新样式字符串格式:

lst[:] = ['lst{}'.format(item) for item in lst]

这将修改原始lst对象:

或使用新样式字符串格式:

lst[:] = ['lst{}'.format(item) for item in lst]
这是地图版

lst = map(lambda x: 'lst%s' % x, lst)
这是地图版

lst = map(lambda x: 'lst%s' % x, lst)
一个有趣的地图版本

>>> lst=['foo', 'bar', 'baz']
>>> map('lst'.__add__, lst)
['lstfoo', 'lstbar', 'lstbaz']
但更严重的是,您可以从生成器表达式中指定一个切片

>>> lst[:] = ('lst{}'.format(x) for x in lst)
>>> lst
['lstfoo', 'lstbar', 'lstbaz']
一个有趣的地图版本

>>> lst=['foo', 'bar', 'baz']
>>> map('lst'.__add__, lst)
['lstfoo', 'lstbar', 'lstbaz']
但更严重的是,您可以从生成器表达式中指定一个切片

>>> lst[:] = ('lst{}'.format(x) for x in lst)
>>> lst
['lstfoo', 'lstbar', 'lstbaz']

唯一好的地图版本是map'lst{0}。格式,lstAwesome:我仍然停留在Python2.4中@jamylak,我对你的评论投了赞成票,因为它是最好的地图版本,但我不同意有一个好的地图版本。@shyam,2.4的等价物是地图'lst%s'。唯一好的地图版本是地图'lst{0}。格式,lstAwesome:我仍然停留在python 2.4中@jamylak,我更新了你的评论,因为这是最好的地图版本,但我不同意有一个好的地图版本。@shyam,2.4的等价物是地图'lst%s'。\uu mod uuu,lst你不需要创建临时列表,用发电机就行了expression@gnibbler使用生成器表达式仍然会创建一个临时的listOh darn,但这肯定只是一个实现细节。最好写下您真正的意思,以防实现有所改进您不需要创建临时列表,只需使用生成器即可expression@gnibbler使用生成器表达式仍然会创建一个临时的listOh darn,但这肯定只是一个实现细节。最好写下您真正的意思,以防实现即兴创作实际上应该在每个itemTitle上预加字符串实际上应该在每个itemTitle上预加字符串为什么在这里使用slice赋值lst[:]=很重要?对于我来说,没有它也可以工作。为什么在这里使用slice赋值lst[:]=很重要?没有它我也能用。