如何复制列表中的字符串?

我有一个清单

list1=['a','b','c]

我要复制列表中的每个字符串

像这样

list2=['a','a','c','c']
list3=['a','c']

但是当我使用这段代码

list2=[x*2 for x in list1]

我明白了

list2=['aa','bb','cc]

如何更改代码以完成结果?

c943601 回答:如何复制列表中的字符串?

我将itertools.chainitertools.repeat一起使用:

from itertools import chain,repeat

chars = ['a','b','c']
repeat_count = 3

list(chain.from_iterable(repeat(char,repeat_count) for char in chars))

输出:

['a','a','c','c']
,

不使用itertools,可以通过如下所示的嵌套列表理解来完成

list1=['a','c']

print([y for x in list1 for y in [x]*2])
# ['a','c']

print([y for x in list1 for y in [x]*3])
# ['a','c']
,

您可以将第二个for循环与函数range()一起使用:

lst = ['a','c']

[i for i in lst for _ in range(2)]
# ['a','c']
本文链接:https://www.f2er.com/3147590.html

大家都在问