我想知道是否可以使用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
答案 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中的一个元素,但是从随机位置开始而不重复。这是吗?