lis的Itertools产品

2024-09-30 14:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我找到了这个地方,但我不想要

A = [[1,2],[3,4]]
print list(product(*A))
[(1, 3), (1, 4), (2, 3), (2, 4)]

我只想得到下面的答案

^{pr2}$

请问我该怎么做?在

事实上,我不想在我的最终列表中的原始列表中有一个相同的数字。在

我做到了:

def afficherListe(A):
n=len(A)
B=[]
for i in range (0,n,1):
    for j in range (0,n,1):
        if i!=j:
            B.append(A[i][j])
return B

但这不管用我只有[2,3]的答案。。。在


Tags: 答案in列表forlenifdef地方
2条回答

我想也许你想从每一列和每一行得到由1个项目组成的所有元组,就像在行列式计算中一样。如果是:

from itertools import permutations

def afficherListe(A):
    """A is a square matrix. Returns all tuples used in det(A)"""
    n = len(A)
    return [tuple(A[i][j] for i,j in enumerate(p)) for p in permutations(range(n))]

#tests:
A = [[1,2],[3,4]]
B = [[1,2,3],[4,5,6],[7,8,9]]
print(afficherListe(A))
print(afficherListe(B))

输出:

^{pr2}$
[(a,b) for a in A[0] for b in A[1] if A[0].index(a)!=A[1].index(b)]

输入:

^{pr2}$

输出:

[(1, 4), (2, 3)]

相关问题 更多 >