Как вывести данные в функцию из словаря и списка в Python

Есть следующие данные:

documents = [{'type': 'passport', 'number': '2207 876234', 'name': 'Василий Гупкин'},
{'type': 'invoice', 'number': '11-2', 'name': 'Геннадий Покемонов'},
{'type': 'insurance', 'number': '10006', 'name': 'Аристарх Павлов'}]

и

directories = {
'1': ['2207876234', '11-2'],
'2': ['10006'],
'3': []

По условию задачи необходимо создать функцию l, которая выводит полную информацию по всем документам. Я сделала следующий код:

def all_l():   
    if command == 'l':
        for k in documents:
            print(' '.join(list(k.values())), "полка хранения:",list(directories.keys()))

По которой вывод:

passport 2207 876234 Василий Гупкин полка хранения: ['1', '2', '3']
invoice 11-2 Геннадий Покемонов полка хранения: ['1', '2', '3']
insurance 10006 Аристарх Павлов полка хранения: ['1', '2', '3']

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

2207 876234, тип: passport, владелец: Василий Гупкин, полка хранения: 1
11-2, тип: invoice, владелец: Геннадий Покемонов, полка хранения: 1
10006, тип: insurance, владелец: Аристарх Павлов, полка хранения: 2

Ответы (1 шт):

Автор решения: CrazyElf

Берите k['number'] и ищите в значениях словаря directories где есть такой номер. Найдёте - ключ словаря, соответствующий этому найденному значению и есть искомая полка. Полный код не пишу, всё-таки это учебное задание.

Дальше там можно оптимизировать (например, составить обратный словарь номер->полка, чтобы не искать в значениях, а получать номер полки моментально по ключу).

→ Ссылка