C++ では書きmap<vector<int>,int> mv;
ますが、Python では "TypeError: unhashable type: 'list'" というエラーが発生します。おそらく C++ では map は赤黒木ですが、Python では dict はハッシュ テーブルです。しかし、Pythonで上記と同じことを行うにはどうすればよいですか?
質問する
105 次
2 に答える
3
リストはハッシュ可能でないため、辞書のキーとして使用できません。
>>> mv = {}
>>> mv[[1,2,3]] = 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
代わりにタプルを使用してください。
>>> mv[(1,2,3)] = 2
>>> mv
{(1, 2, 3): 2}
于 2013-07-21T05:22:15.537 に答える
1
キーのサイズを変更する必要がない限り、 atuple
がおそらく最も効率的な方法です。
mv = {}
mv[(1, 2, 3)] = 456
于 2013-07-21T05:22:19.280 に答える