Python |在每次迭代的列表中插入两个项目,并使用一个线性行

Python |在每次迭代的列表中插入两个项目,并使用一个线性行,python,for-loop,Python,For Loop,是否可以在列表中插入带有一行的两个项目? 例如,通过类似于[1,3]][x,x+1 For x in[1,3]]]的方式获取[1,2,3,4]不,您不能这样做。相反,您可以在itertools.chain.from_iterable中使用生成器表达式来链接iterable项或使用嵌套列表理解(这不如chain.from_iterable优化,因为您必须创建项,然后使用另一个循环将其解包) 在Python3.5+中,您可以在如下列表中解压iterables,但仍然不能在迭代时解压 >>

是否可以在列表中插入带有一行的两个项目?
例如,通过类似于[1,3]][x,x+1 For x in[1,3]]]的方式获取
[1,2,3,4]
不,您不能这样做。相反,您可以在
itertools.chain.from_iterable
中使用生成器表达式来链接iterable项或使用嵌套列表理解(这不如
chain.from_iterable
优化,因为您必须创建项,然后使用另一个循环将其解包)

在Python3.5+中,您可以在如下列表中解压iterables,但仍然不能在迭代时解压

>>> a = (1, 2)
>>> b = (3, 5)
>>> 
>>> [*a, *b]
[1, 2, 3, 5]

你能提供一个真实的例子吗?我有一个数据框,其中有列[“12-18薪水”、“12-18渗透率”、“12-18视图”、“19-25薪水”、“19-25渗透率”、“19-25视图”、…],还有一个年龄组列表[“12-18”、“19-25”、…]。我想为所有年龄组选择“薪资”和“视图”列,即我需要获得一个列表[“12-18薪资”、“12-18视图”、“19-25薪资”、“19-25视图”、…]。我想根据一行中的年龄组列表生成此列表
>>> a = (1, 2)
>>> b = (3, 5)
>>> 
>>> [*a, *b]
[1, 2, 3, 5]
[item for sublist in [ [x, x+1] for x in [1, 3] ] for item in sublist]