2017-02-17 2 views
0

Я хочу сделать что-то вроде этого:Как установить значение Dict с помощью другого ключа одного и того же Словаре

my_dict = {"key": "value", "key1": "value1", "key2": my_dict["key"]} 

и есть результат быть:

{"key": "value", "key1": "value1", "key2": "value"} 

В настоящее время получает неразрешенный ссылку, если я объявите dict() ранее. В противном случае я получаю ключевую ошибку.

+0

'my_dict = {" key ":" value "," key1 ":" value1 "}; my_dict ["key2"] = my_dict ["key"] 'bam – Ryan

+0

Ну, ваш dict не инициализирован, вы не можете ссылаться на то, что еще не существует. Вы можете использовать 'lambda' для динамического вызова ваших ключей, если вы хотите создать словарь для самостоятельной записи. – zwer

+0

@Nicolas, проблема в том, что операторы присваивания оцениваются справа налево, поэтому 'my_dict' еще не определен, хотя вы определяете его в этой строке. – lmiguelvargasf

ответ

1

Установить значение key2 к чему-то фальшивым (скажем, None), инициализировать my_dict должным образом, а затем изменить значение my_dict['key2'] к my_dict["key"].