Juk*_*rpa 5 python list-comprehension list python-3.x
我想在列表的每个现有元素之前插入一个常量元素,即来自:
['foo', 'bar', 'baz']
Run Code Online (Sandbox Code Playgroud)
至:
['a', 'foo', 'a', 'bar', 'a', 'baz']
Run Code Online (Sandbox Code Playgroud)
我尝试过使用列表推导,但我能做到的最好的事情就是使用这个语句的数组数组:
[['a', elt] for elt in stuff]
Run Code Online (Sandbox Code Playgroud)
结果如下:
[['a', 'foo'], ['a', 'bar'], ['a', 'baz']]
Run Code Online (Sandbox Code Playgroud)
所以不完全是我想要的.可以使用列表理解来实现吗?万一重要,我使用的是Python 3.5.
Mar*_*ers 10
添加另一个循环:
[v for elt in stuff for v in ('a', elt)]
Run Code Online (Sandbox Code Playgroud)
或者itertools.chain.from_iterable()与您一起使用zip(),itertools.repeat()如果您需要可迭代版本而不是完整列表:
from itertools import chain, repeat
try:
# Python 3 version (itertools.izip)
from future_builtins import zip
except ImportError:
# No import needed in Python 3
it = chain.from_iterable(zip(repeat('a'), stuff))
Run Code Online (Sandbox Code Playgroud)