2024-09-30 01:35:18 发布
网友
我希望在列表的每个现有元素之前插入一个常量元素,即gofrom:
['foo', 'bar', 'baz']
收件人:
我尝试过使用列表理解,但我能实现的最好结果是使用以下语句创建数组数组:
[['a', elt] for elt in stuff]
结果是:
[['a', 'foo'], ['a', 'bar'], ['a', 'baz']]
所以不是我想要的。使用列表理解可以实现吗?为了以防万一,我使用的是python3.5。在
你已经有了
l = [['a', 'foo'], ['a', 'bar], ['a', 'baz']]
你可以用
这甚至适用于任意长度的嵌套列表。在
添加另一个循环:
[v for elt in stuff for v in ('a', elt)]
或者,如果需要iterable版本而不是完整列表,请将^{}与{a2}和{a3}一起使用:
一个简单的生成器函数在这里也能很好地工作:
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')
这样可以避免嵌套列表的理解,并且可以很直接地阅读和理解,但代价是要稍微冗长一些。在
你已经有了
你可以用
^{pr2}$这甚至适用于任意长度的嵌套列表。在
添加另一个循环:
或者,如果需要iterable版本而不是完整列表,请将^{} 与{a2}和{a3}一起使用:
^{pr2}$一个简单的生成器函数在这里也能很好地工作:
这样可以避免嵌套列表的理解,并且可以很直接地阅读和理解,但代价是要稍微冗长一些。在
相关问题 更多 >
编程相关推荐