3 个列表之间的 Python 组合,其中一个列表依赖于一个列表

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

我有两个列表,第三个列表取决于第一个列表。

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)]

你有什么建议吗?

python list tuples combinations python-itertools
1个回答
0
投票

我想如果你一点一点地看,也不会太糟糕。假设我已经正确计算了

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)
© www.soinside.com 2019 - 2024. All rights reserved.