Печать индекса словарных статей - PullRequest
0 голосов
/ 13 мая 2018

Я работаю над заданием, в котором мне нужно распечатать содержимое адресной книги, причем каждый элемент пронумерован последовательно.Адресная книга представляет собой вложенный словарь:

addressBook = {'Jim': {'name': 'James Marsh', 'address': '32 Morris Ave',
                           'phone': '6549873217'},
    'Leanne': {'name': 'Leanne Moss', 'address': '37 Shamrock Lane',
                           'phone': '1234567890'},
    'Chris': {'name': 'Christopher Philips', 'address': '49 Langley Court',
                           'phone': '3216549870'}}

Моя функция для отображения содержимого в настоящее время выглядит следующим образом:

def listAll(addressBook):
    for key, value in addressBook.items():
        print(key)
        print(value['name'])
        print(value['address'])
        print(value['phone'])

, который выводит

Jim
James Marsh
32 Morris Ave
654-987-3217

Leanne
Leanne Moss
37 Shamrock Lane
123-456-7890

Chris
Christopher Philips
49 Langley Court
321-654-9870

Спецификациядля назначения говорится, что они должны быть пронумерованы последовательно, как в

1    Jim
James Marsh
32 Morris Ave
654-987-3217

2    Leanne
Leanne Moss
37 Shamrock Lane
123-456-7890

3    Chris
Christopher Philips
49 Langley Court
321-654-9870

Я пытался

for index, key, value in enumerate(addressBook.items()):
    print(str(index+1) + '\t' + key)
    print(value['name'])
    print(value['address'])
    print(value['phone'] + '\n')

, но это дает ошибку ValueError: not enough values to unpack (expected 3, got 2).Как я могу это исправить?

1 Ответ

0 голосов
/ 13 мая 2018

Вы можете распаковать это с:

for index, (key, value) in enumerate(addressBook.items()):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...