Почему я не могу использовать список в качестве ключа в python?

Я немного запутался в том, что можно/нельзя использовать в качестве ключа для питонового дикта.

dicked = {}
dicked[None] = 'foo'     # None ok
dicked[(1,3)] = 'baz'    # tuple ok
import sys
dicked[sys] = 'bar'      # wow, even a module is ok !
dicked[(1,[3])] = 'qux'  # oops, not allowed

Так кортеж является неизменным типом, но если я скрываю список внутри него, то он не может быть ключом.. не мог ли я так же легко скрыть список внутри модуля?

У меня было некоторое смутное представление о том, что ключ должен быть «хэшируемым», но я просто собираюсь признать свое собственное незнание технических деталей; Я не знаю, что на самом деле здесь происходит. Что было бы неправильно, если бы вы попытались использовать списки в качестве ключей, с хэшем, как, скажем, их местоположение памяти?

-121--614280- Как передать массив другому действию? Я знаю, что мы можем передать любой объект с его значением другому действию с помощью методов putExtra () и getExtra. но теперь я хочу знать, возможно ли передать массив...

Я знаю, что мы можем передать любой объект с его значением другому действию с помощью методов putExtra () и getExtra . но теперь я хочу знать, можно ли передать массив другому действию или нет? Или, если это так, дайте мне знать, как я могу передать массив другому действию ? Спасибо.

11
задан DonGru 31 August 2011 в 16:29
поделиться