python 笛卡尔积求数组组合时,怎么同时获取原下标值?

A = [a,b,c,d]
B = [1,2,3,4]
C = [6,7,8,9]
for s in itertools.product(A,B,C)

print s
#问题,我想在输出S的同时,获取到s在原A,B,C中的下标值
阅读 1.9k
1 个回答

如果可以绕一点的话,加上enumerate,即:

for i in itertools.product(enumerate(A),enumerate(B),enumerate(C)):
    # i大概是((3, 'd'), (3, 4), (3, 9)),每个小元组前端是index,后面是值
    s = tuple([item[1] for item in i])
    s_index = tuple([item[0] for item in i])

s_index就是需要的下标值。

推荐问题