列表理解:将每个字符串乘以一个列表

Lui*_*uis 0 python list-comprehension list python-3.x

我有一个字符串列表,并希望获得一个包含在每个元素上的新列表多次.

lst = ['abc', '123']
n = 3
Run Code Online (Sandbox Code Playgroud)

我可以用for循环来做到这一点:

res = []
for i in lst:
    res = res + [i]*n
print( res )

['abc', 'abc', 'abc', '123', '123', '123']
Run Code Online (Sandbox Code Playgroud)

如何使用列表理解?

到目前为止我最好的尝试:

[ [i]*n for i in ['abc', '123']  ]
[['abc', 'abc', 'abc'], ['123', '123', '123']]
Run Code Online (Sandbox Code Playgroud)

Bha*_*Rao 7

使用嵌套列表解析

>>> lst = ['abc', '123']
>>> n = 3
>>> [i for i in lst for j in range(n)]
['abc', 'abc', 'abc', '123', '123', '123']
Run Code Online (Sandbox Code Playgroud)

这背后的想法是,你循环遍历列表两次,你打印每个元素三次.

请参阅"列表理解"是什么意思?它是如何工作的,我该如何使用它?