Динамический размер многомерного массива - PullRequest
0 голосов
/ 05 сентября 2018

Как я могу создать многомерный массив динамического размера в python?

Цель - создать массивы динамического размера внутри массивов, например ::1003

ExampleArray{
   book1 : { key:val }
   book2 : { key:val }
}

Это возвращает ошибку:

ExampleArray = {}
ExampleArray['book1']['key'] = 'val';

Почему?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

https://docs.python.org/3/library/collections.html#collections.defaultdict

from collections import defaultdict

ExampleArray = defaultdict(dict)

ExampleArray['book1']['key'] = 'val'

print(ExampleArray) # defaultdict(<class 'dict'>, {'book1': {'key': 'val'}})
0 голосов
/ 05 сентября 2018

заменить на

ExampleArray = {}
ExampleArray['book1'] = {}
ExampleArray['book1']['key'] = 'val'

когда вы делаете ExampleArray['book1'], вы пытаетесь получить к нему доступ, но не можете повлиять на него, поэтому, поскольку ключ не существует, выдается исключение

Вы должны изменить значение до ExampleArray['book1'] (в данном случае dict())

PS. потерять; в конце строк. вы не делаете C или C ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...