Skip to main content
 首页 » 编程设计

python之从矩阵到单行字典

2025年05月04日10kenshinobiy

matrix

是具有相同长度的列表列表。我必须返回

形式的字典
{i:(l1[i],l2[i],...,lm[i])} 

其中键 i 与第 i 个元素的元组匹配 从每个列表。 说

matrix=[[1,2,3,4],[9,8,7,6],[4,8,2,6]] 

所以行:

>>> dict([(i,tuple(matrix[k][i] for k in xrange(len(matrix)))) for i in xrange(len(matrix[0]))] )

工作做得很好并输出:

{0: (1, 9, 4), 1: (2, 8, 8), 2: (3, 7, 2), 3: (4, 6, 6)}

但如果矩阵为空则失败:matrix=[]。输出应为:{}

我该如何处理?

请您参考如下方法:

这个怎么样:

>>> matrix = [[1,2,3,4],[9,8,7,6],[4,8,2,6]] 
>>> dict(enumerate(zip(*matrix))) 
{0: (1, 5, 4), 3: (4, 8, 6), 2: (3, 7, 2), 1: (2, 6, 8)}     
>>> matrix = [] 
>>> dict(enumerate(zip(*matrix))) 
{}