1

Тема: Знайти ключ за значенням. Словники.

Вітаю!
Є словник. Телефоний довідник. Словник в форматі

{'Ім'я': телефон}

Є номер телефону, потрібно знайти ключ, що відповідає цьому номеру.
Як це можна зробити?

2

Re: Знайти ключ за значенням. Словники.

Варіантів багато. Найпростіший але не найоптимальніший:

for key in d.keys():
  if d[key] == tel:
     print key
Подякували: A.N.Onim1

3

Re: Знайти ключ за значенням. Словники.

А як щодо оптимальнішого?
Чи можна якось змінити місцями ключ і значення?
Тобто, замість

{'Name': Number}

отримати

{'Number': Name}

?

4

Re: Знайти ключ за значенням. Словники.

Чи можна якось змінити місцями ключ і значення?

може створити новий словник, помінявши місцями ключ-значення.

new_dict = {}
for key, value in d.items():
    new_dict[value] = key

і потім його використовувати для пошуку за номером..

Подякували: A.N.Onim, Q-bart2