Python中的数组计算

时间:2017-07-18 11:23:49

标签: python arrays

我想知道是否可以使用python在这个问题上编写程序。 我有三个阵列:

A = ['a1','a2','a3','a4','a5','a6']
B = ['b1','b2','b3','b4','b5','b6']
C = ['c1','c2','c3','c4','c5','c6']

我需要一次从每个数组中获取一个元素,将它们放在一起并打印出来,例如,' a1b1c1'。

每个分组元素无论顺序如何都只能出现一次。

每个元素必须与每一轮中其他两个数组的新元素分组。 例如,在第一个循环中,' a1',' b1',' c1'在接下来的几轮中,如果' a1'已经再次被选中,而不是' b1'也不是' c1'可以选择。 如何在Python中编写循环并打印所有可能的结果?谢谢。

A = ['a1','a2','a3','a4','a5','a6']
B = ['b1','b2','b3','b4','b5','b6']
C = ['c1','c2','c3','c4','c5','c6']

for i in range(len(A)):
    a=A[i]
    for j in range(len(B)):
        b=B[j]
        for h in range(len(C)):
            c=C[h]
            print a+b+c

让我用3个元素作为例子,因为6个元素的列表太长了。

预期结果: A1,B1,C1

A1,B2,C2

A1,B3,C3

A2,B1,C2

A2,B2,C3

A2,B3,C1

A3,B1,C3

A3,B2,C1

A3,B3,C2

1 个答案:

答案 0 :(得分:0)

校正: 好的,在对问题进行更明确的解释之后,我认为这更像是你需要的东西:

import random
for strA in A:
    l = len(B)
    nB = random.randrange(l)
    nC = random.randrange(l)
    for i in range(l):
        posB = (i + nB)%l
        posC = (i + nC)%l
        print(strA + B[posB] + C[posC])

它接受A的每个元素,并且它按顺序附加B和C中的一个元素,但是从随机位置开始而不重复。这是吗?