我有一个清单
list1=['a','b','c]
我要复制列表中的每个字符串
像这样
list2=['a','a','c','c']
list3=['a','c']
但是当我使用这段代码
list2=[x*2 for x in list1]
我明白了
list2=['aa','bb','cc]
如何更改代码以完成结果?
我有一个清单
list1=['a','b','c]
我要复制列表中的每个字符串
像这样
list2=['a','a','c','c']
list3=['a','c']
但是当我使用这段代码
list2=[x*2 for x in list1]
我明白了
list2=['aa','bb','cc]
如何更改代码以完成结果?
我将itertools.chain
与itertools.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']