import numpy as np
List1 = ["A","B","C","D","E"]
List2 = ["1","2","3","4","5"]
List3 = ["X","Y"]
ALL = [List3,List2]
SIZE = len(List1)
LAYER = len(ALL)
ans = [List1[::] for i in range(LAYER + 1)]
def foo(k,n):
if(k > SIZE): return foo(1,n + 1)
if(n == LAYER):
return print('\n'.join([' '.join(np.array(ans)[:,i]) for i in range(SIZE)]))
for v in ALL[n]:
ans[LAYER - n][SIZE - k] = v
foo(k + 1,n)
foo(1,0)
※ 引述《Dong0129 (阿东)》之铭言:
: 各位版友好,
: 想请教以下情景如何使用递回输出...
: 有3个list如下,
: List1=["A","B","C","D","E"]
: List2=[1,2,3,4,5]
: List3=["X","Y"]
: 想透过递回输出成以下格式,
: A 1 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 3 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 4 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 5 X
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 1 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: A 3 X
: B 2 X
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 X
: B 5 X
: C 5 X
: D 5 X
: E 5 X
: A 1 Y
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: A 2 Y
: B 1 X
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 Y
: B 5 X
: C 5 X
: D 5 X
: E 5 X
: A 1 X
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: A 2 X
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 X
: B 5 Y
: C 5 X
: D 5 X
: E 5 X
: A 1 Y
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: A 2 Y
: B 1 Y
: C 1 X
: D 1 X
: E 1 X
: ...
: A 5 Y
: B 5 Y
: C 5 Y
: D 5 Y
: E 5 Y
: 请问该如何使用递回输出?