如何压缩3个不同大小的列表

时间:2019-04-19 16:33:31

标签: python

我有3个大小不同的列表。

A=[1500,1000,500]
B=[159,179]
C=[6,9,12,18]

我希望它相乘并获得24个(AxBxC)列表,如

[[1500,159,6],[1000,159,9],[500,159,12],[1500,159,18],.....[500,179,18]]

1 个答案:

答案 0 :(得分:1)

好像您要三个列表中的cartesian product。您可以使用itertools.product

from itertools import product
my_lists = [A,B,C]
[i for i in product(*my_lists)]

[(1500, 159, 6),
 (1500, 159, 9),
 (1500, 159, 12),
 (1500, 159, 18),
 (1500, 179, 6),
 (1500, 179, 9),
 (1500, 179, 12),
 (1500, 179, 18),
 (1000, 159, 6),
 (1000, 159, 9),
...