说我有这份清单
listlist = [[0,0,0,1],[0,0,1,1],[1,0,1,1]]
和一个空的dict()
answer = dict()
并说我想在每个列表中找到最左边的非零,这样我就可以将非零数字的索引保存到字典中,如:
for list in listlist: #(this is how the first iteration would look like:)
answer[0] = 3
下一次迭代
answer[1] = 2
下一次迭代
answer[2] = 0
我对编程非常陌生,所以请原谅我,如果它是微不足道的,我尝试了不同的东西,很难找到如何做到这一点。
答案 0 :(得分:8)
如果它只是0
和1
只做了类似的事情,
>>> answer = {i: lst.index(1) for i, lst in enumerate(listlist)}
>>> answer
{0: 3, 1: 2, 2: 0}
此外,请勿使用list
作为变量名称,因为它会屏蔽内置list
。
答案 1 :(得分:4)
假设只有0
和1
这应该有效
i = 0
for mylist in listlist:
answer[i] = mylist.index(1)
i += 1
我建议您不要将列表list
命名为覆盖某些功能。我更喜欢默认使用变量名mylist
答案 2 :(得分:2)
listlist = [[0,0,0,1],[0,0,1,1],[1,0,1,1]]
answer = dict()
for idx,alist in enumerate(listlist):
for i in range(len(alist)):
if alist[i] > 0:
answer[idx] = i