2

私はこのリストのリストを持っていると言います

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

私はプログラミングにかなり慣れていないので、些細なことでしたらすみません。さまざまなことを試しましたが、これを行う方法を見つけるのは難しいです。

4

3 に答える 3

8

0s とs だけの場合1は、次のようにします。

>>> answer = {i: lst.index(1) for i, lst in enumerate(listlist)}
>>> answer
{0: 3, 1: 2, 2: 0}

また、組み込みlistをマスクするため、変数名として使用しないでください。list

于 2013-08-15T03:10:54.473 に答える
4

0s とsのみを想定すると、1これは機能するはずです

i = 0
for mylist in listlist:
  answer[i] = mylist.index(1)
  i += 1

list一部の機能を上書きする list という名前を付けないことをお勧めします。変数名をデフォルトにすることを好みますmylist

于 2013-08-15T03:08:24.310 に答える
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
于 2013-08-15T03:10:30.020 に答える