首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表的Itertools积

列表的Itertools积
EN

Stack Overflow用户
提问于 2016-12-13 12:56:48
回答 2查看 606关注 0票数 0

我已经找到这个字体了,但我不想

代码语言:javascript
复制
A = [[1,2],[3,4]]
print list(product(*A))
[(1, 3), (1, 4), (2, 3), (2, 4)]

以下是我的答案。

代码语言:javascript
复制
[(1, 4),(2, 3)]

我该怎么做?

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

我已经说过:

代码语言:javascript
复制
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的答案.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-13 13:44:10

我认为您可能希望从每一列和每一行中得到由1项组成的所有元组,如行列式计算中的那样。如果是的话:

代码语言:javascript
复制
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))

输出:

代码语言:javascript
复制
[(1, 4), (2, 3)]
[(1, 5, 9), (1, 6, 8), (2, 4, 9), (2, 6, 7), (3, 4, 8), (3, 5, 7)]
票数 1
EN

Stack Overflow用户

发布于 2016-12-13 13:49:29

代码语言:javascript
复制
[(a,b) for a in A[0] for b in A[1] if A[0].index(a)!=A[1].index(b)]

投入:

代码语言:javascript
复制
A = [[1, 2], [3, 4]]

输出:

代码语言:javascript
复制
[(1, 4), (2, 3)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41121702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档