例如:
alist=[['a','b'],[1,2]]
和组合
('a',1)
有没有办法获得这个组合的索引,即(0,0),因为它们都在各自列表中的第0个位置或像
这样的矩阵[[1,1],[0,0]]
其中1表示选择的位置以形成组合?
答案 0 :(得分:1)
嗯,你可以像ruaridhw指出的那样创建索引。你可以这样做:
from itertools import product
alist = [['a','b'],[1,2]]
print [a for a in product(*alist)]
print [list(a) for a in product(*[range(len(x)) for x in alist])]
输出:
[('a', 1), ('a', 2), ('b', 1), ('b', 2)]
[[0, 0], [0, 1], [1, 0], [1, 1]]
答案 1 :(得分:0)
由于给定组合c的每个元素都在alist的相应行中找到,因此以下内容返回其索引的元组:
alist = [['a','b'],[1,2]]
c = ('a',1)
ix = tuple(row.index(elem) for row, elem in zip(alist, c))
此处ix变为(0, 0)