INDMops
@INDMops
Парень с небольшой историей...

Что не так с вложенным словарём?

У меня есть такой словарь:
books = {
    'book1' : {
        'name': 'book 1'
        'year': '2005',
        'chapters': {
            '1': {
                'name': 'chapter 1',
                'pages': '5',
                '1': 'https://book-reed.com/book1/c/1/p/1.png',
                '2': 'https://book-reed.com/book1/c/1/p/2.png',
                '3': 'https://book-reed.com/book1/c/1/p/3.png',
                '4': 'https://book-reed.com/book1/c/1/p/4.png',
                '5': 'https://book-reed.com/book1/c/1/p/5.png'
            },
            '2': {
                'name': 'chapter 2',
                'pages': '5',
                '1': 'https://book-reed.com/book1/c/2/p/1.png',
                '2': 'https://book-reed.com/book1/c/2/p/2.png',
                '3': 'https://book-reed.com/book1/c/2/p/3.png',
                '4': 'https://book-reed.com/book1/c/2/p/4.png',
                '5': 'https://book-reed.com/book1/c/2/p/5.png'
            }
        }
    }
}

Ну и когда я вызываю например название главы из словаря
name = books.books['book 1']['name']['chapters']['1']['name']

То консоль выдает ошибку: TypeError: string indices must be integers
Та же ерунда если хочу вывести картинку:
page 1 = books.books['book 1']['name']['chapters']['1']['1']

В чем проблема, я неправильно достаю значение из словаря или что?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
достаешь правильно, но не в том порядке

у тебя же ключи идут book1 -> chapters -> 1 -> name
а ты зачем-то первый name вставляешь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы