在lis的每个元素之前插入元素

2024-09-30 01:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在列表的每个现有元素之前插入一个常量元素,即gofrom:

['foo', 'bar', 'baz']

收件人:

^{pr2}$

我尝试过使用列表理解,但我能实现的最好结果是使用以下语句创建数组数组:

[['a', elt] for elt in stuff]

结果是:

[['a', 'foo'], ['a', 'bar'], ['a', 'baz']]

所以不是我想要的。使用列表理解可以实现吗?为了以防万一,我使用的是python3.5。在


Tags: in元素列表forfoobar数组baz
3条回答

你已经有了

   l =  [['a', 'foo'], ['a', 'bar], ['a', 'baz']]

你可以用

^{pr2}$

这甚至适用于任意长度的嵌套列表。在

添加另一个循环:

[v for elt in stuff for v in ('a', elt)]

或者,如果需要iterable版本而不是完整列表,请将^{}与{a2}和{a3}一起使用:

^{pr2}$

一个简单的生成器函数在这里也能很好地工作:

def add_between(iterable, const):
    # TODO: think of a better name ... :-)
    for item in iterable:
        yield const
        yield item

list(add_between(['foo', 'bar', 'baz'], 'a')

这样可以避免嵌套列表的理解,并且可以很直接地阅读和理解,但代价是要稍微冗长一些。在

相关问题 更多 >

    热门问题