2016-08-17 2 views
0

Я знаю, что для Словаря D в питоне,питона кронштейн обозначение Dict для SetItem метода

D = {0:1, 1: {2:3} } 
D[0] = 1 

эквивалентно

D.__setitem__(0,1) 

насчет ниже

D[1][3] = 4 

хотя это эквивалентно

D[1].__setitem__(3,4) 

Я не хочу использовать скобку, как это сделать?

+0

Как насчет '__getitem__'? – Rishav

+0

Как вы показали? методом '__setitem__'. Что именно вы спрашиваете? – ailin

+0

PSA: вы можете просмотреть все внутренние методы с помощью 'help ({})' в оболочке Python. – Rishav

ответ

1

Это будет выглядеть так: D.__getitem__(1).__setitem__(3,4)

Обратите внимание, что __setitem__ называется не D переменной, но для valirable retured по __getitem__

+0

Да, это очевидно, в обоих случаях мы предполагаем, что ребенок является типом dict. спасибо –

1

Другой способ, если вы абсолютно необходимо избегать брекет обозначения какой-либо причине:

>>> D.get(1).update([(3,4)]) 
>>> D 
{0: 1, 1: {2: 3, 3: 4}} 
Смежные вопросы