[映射嵌套列表中的相应元素

问题描述 投票:0回答:1

输入:[('1', '100'), (False,), (True,), ('1', '100')]输出:

[('1', False, True, '1'),
 ('100', False, True, '100')]

但是当我使用itertools.product时,它给了我一个完整的交叉产品

In [191]: l
Out[191]: [('1', '100'), (False,), (True,), ('1', '100')]

In [192]: list(itertools.product(*l))
Out[192]: 
[('1', False, True, '1'),
 ('1', False, True, '100'),
 ('100', False, True, '1'),
 ('100', False, True, '100')]

列表内的所有元组将具有相同的大小或具有1的大小。

我可以通过执行以下不太理想的操作来实现此目的

In [231]: [[l[i][v] if len(l[i]) > v else l[i][0] for i in range(len(l))] for v in range(max(map(len, l)))]
Out[231]: [['1', False, True, '1'], ['100', False, True, '100']]
python list tuples zip itertools
1个回答
0
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.