我有两个列表,第三个列表取决于第一个列表。
l1 = [1, 2]
l2 = [3, 4]
l3 = [[11, 111], [22, 222]] # the numbers are calculated for each element of l1
我想要的是创建一个组合,结果是:
[(1,3,11), (1,3,111), (1,4,11), (1,4,111), (2,3,22), (2,3,222), (2,4,22), (2,4,222)]
你有什么建议吗?
我想如果你一点一点地看,也不会太糟糕。假设我已经正确计算了
l3_x
那么你就可以做到这一点。
l1 = [1, 2]
l2 = [3, 4]
result = []
for x in l1:
l3_x = [int(str(x)*2), int(str(x)*3)]
for z in l3_x:
for y in l2:
result.append((x,y,z))
for t in sorted(result):
print(t)
这会给你:
(1, 3, 11)
(1, 3, 111)
(1, 4, 11)
(1, 4, 111)
(2, 3, 22)
(2, 3, 222)
(2, 4, 22)
(2, 4, 222)