Fri*_*son 2 python dictionary list matrix
假设我有一个这样的列表lst = [[0,1,5,0], [4,0,0,7], [0,11]]。我想创建一个字典,其中键是一个元组(i, j),值是lst[i][j]. 它应该显示这样的东西,d = {(0,0): 0, (0, 1): 1, (0,2): 5, (0,3): 0 ... (2,1): 11}我相信你现在得到了这个模式。我试图产生这样的东西作为研究员:
def convert(lst):
d = dict()
for i in range(len(lst)):
for j in range(i):
d(i, j)] = lst[i][j]
return d
Run Code Online (Sandbox Code Playgroud)
哪个不起作用。它没有扫过整个列表。请帮助我找到我不起眼的代码的问题。
你有问题的代码几乎是正确的,看看下面的代码,它做了一些细微的调整:
def convert(lst):
d = {}
for i in range(len(lst)):
for j in range(len(lst[i])): # This is the part that differentiates.
d[(i, j)] = lst[i][j]
return d
lst = [[0,1,5,0], [4,0,0,7], [0,11]]
print(convert(lst))
Run Code Online (Sandbox Code Playgroud)
运行此输出时:
{(0, 0): 0, (0, 1): 1, (0, 2): 5, (0, 3): 0, (1, 0): 4, (1, 1): 0, (1, 2): 0, (1, 3): 7, (2,0): 0, (2, 1): 11}
Run Code Online (Sandbox Code Playgroud)