0

[[1,2],[3,4]] を参照できる辞書を作成する必要があります --> ([1,2]:0, [2,3]:0) さまざまな方法を試しましたが、辞書のリストを使用できません。だから私はタプルを使ってみましたが、それでも同じです。どんな助けでも大歓迎です!

4

3 に答える 3

4

タプルを使用する必要があります。

dict.fromkeys((tuple(i) for i in [[1,2],[3,4]]), 0)

または(python2.7+の場合)

{tuple(i): 0 for i in [[1,2], [3,4]]}

編集:

コメントを読むと、OPはおそらくリストの出現回数を数えたいと思うでしょう:

>>> collections.Counter(tuple(i) for i in [[1,2], [1,2], [3,4]])
Counter({(1, 2): 2, (3, 4): 1})
于 2012-11-15T22:21:53.840 に答える
3

リストはハッシュ可能ではないため、辞書のキーとして使用できません (おそらく、リストは変更できるため、適切なハッシュ関数を考え出すことは不可能です)。 tupleただし、問題はありません。

d = {(1,2):0, (3,4):0}

あなたの例では、次のような辞書を作成しようとしていることを暗示しているように見えることに注意してください。

((1,2):0, (3,4):0)

それはうまくいきません。辞書を作成するには中かっこが必要です。

于 2012-11-15T22:22:54.803 に答える
0

([1,2]:0, [2,3]:0)辞書ではありません。私はあなたが使用するつもりだったと思います:{(1,2):0, (2,3):1}

于 2012-11-15T22:24:53.950 に答える