I';我想制作python';从&&&&&';a&';&&';b&';,';c';c&';&&';&&&b&&&&&&&357
我想把python的列表从['a','b','b','c','c',变成['a','a','b','c'] 你知道怎么做吗?I';我想制作python';从&&&&&';a&';&&';b&';,';c';c&';&&';&&&b&&&&&&&357,python,Python,我想把python的列表从['a','b','b','c','c',变成['a','a','b','c'] 你知道怎么做吗? 谢谢大家! 您始终可以创建一个新列表: for x in oldList: newList.append(x) newList.append(x) 请注意,这将创建一个新列表,而不是修改旧列表 您始终可以创建一个新列表: for x in oldList: newList.append(x) newList.append(x) 请注意,这将创建一个
谢谢大家! 您始终可以创建一个新列表:
for x in oldList:
newList.append(x)
newList.append(x)
请注意,这将创建一个新列表,而不是修改旧列表 您始终可以创建一个新列表:
for x in oldList:
newList.append(x)
newList.append(x)
请注意,这将创建一个新列表,而不是修改旧列表 对于或多或少表示“我想重复每个元素两次”的内容,有一个嵌套的列表理解,包含
范围
:
>>> l = ['a', 'b', 'c']
>>> [x for x in l for _ in range(2)]
['a', 'a', 'b', 'b', 'c', 'c']
如果您发现列表乘法更具可读性,并且不需要将2
扩展为一个大数字,并将列表理解转换为生成器表达式,则可以使用列表乘法将其缩短一点:
>>> l = ['a', 'b', 'c']
>>> [y for x in l for y in [x, x]]
如果您是Haskell的粉丝,l>=replicate 2
,您可以模仿:
import itertools
from functools import partial
from operator import mul
def flat_map(iterable, f):
return itertools.chain.from_iterable(map(f, iterable))
l = ['a', 'b', 'c']
flat_map(l, partial(mul, 2))
对于或多或少表示“我想重复每个元素两次”的内容,有一个嵌套的列表理解,其中包含
范围
:
>>> l = ['a', 'b', 'c']
>>> [x for x in l for _ in range(2)]
['a', 'a', 'b', 'b', 'c', 'c']
如果您发现列表乘法更具可读性,并且不需要将2
扩展为一个大数字,并将列表理解转换为生成器表达式,则可以使用列表乘法将其缩短一点:
>>> l = ['a', 'b', 'c']
>>> [y for x in l for y in [x, x]]
如果您是Haskell的粉丝,l>=replicate 2
,您可以模仿:
import itertools
from functools import partial
from operator import mul
def flat_map(iterable, f):
return itertools.chain.from_iterable(map(f, iterable))
l = ['a', 'b', 'c']
flat_map(l, partial(mul, 2))
给你
['a', 'a', 'b', 'b', 'c', 'c']
给你
['a', 'a', 'b', 'b', 'c', 'c']
你知道这个答案比我的答案快吗?只是好奇,谢谢。@KillPinguin:我不知道,对不起。你知道这个答案比我的答案快吗?只是好奇,谢谢。@KillPinguin:我不知道,对不起。