我有三个数组
a = [2]
b = [2,3,6]
c = [1]
我想将它们合并,以便得到大小为len(a)*len(b)
的数组,其中包含两者的所有排列。 (C将始终包含一个值)
我认为类似的事情会起作用
newArr = [for i in range len(a)*len(b) [for x in a][for y in b][for z in c]]
print(newArr)
[[2,2,1],[2,3,1],[2,6,1]]
但是,在语言的语法范围内似乎不允许这样做。有人对我如何使用标准库做到这一点有任何线索吗?
答案 0 :(得分:3)
printf
例如:
[[x, y, z] for x in a for y in b for z in c]
答案 1 :(得分:1)
import itertools
a = [2]
b = [2,3,6]
c = [1]
p = itertools.product(a, b, c)
print(list(p))
[(2, 2, 1), (2, 3, 1), (2, 6, 1)]