San*_*ich 1 python dictionary list-comprehension
矩阵
是一个长度相同的列表列表.我要返回一份表格字典
{i:(l1[i],l2[i],...,lm[i])}
Run Code Online (Sandbox Code Playgroud)
在密钥i与元组匹配的情况下,每个列表中的第i个元素.说
matrix=[[1,2,3,4],[9,8,7,6],[4,8,2,6]]
Run Code Online (Sandbox Code Playgroud)
所以这一行:
>>> 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)))
{}
Run Code Online (Sandbox Code Playgroud)