Задание 7

Используя данные предыдущего задания вывести на экран все страны с количеством городов в них

Упорядочивание словарей

Как нам уже известно, для словарей существует особенность. Порядок выдачи элементов словаря не совпадает с порядком добавления, что несколько усложняет использование внешних функций сортировки. Однако, в Питоне существует встроенный метод решения проблемы сортировки: функция sorted(). Предположим, что у нас есть словарь следующего вида:

d = {1: 'D', 2: 'B', 3: 'B', 5: 'E', 4: 'A'}

Результатом применения функции sorted() к этому словарю будет список: [1,2,3,4,5], который уже можно использовать для получения данных из словаря в порядке возрастания ключей.

for i in sorted(d): print(d[i])

В результате получим:

D
B
B
A
E

Аналогичную операцию можно применить и для значений:

for i in sorted(d.values()): print(i)

Результатом работы будет

A
B
B
D
E

Однако, если нам нужны значения ключе, упорядоченные по значениям, то нужно применить следующий трюк

for i in sorted(d, key=d.__getitem__): print(i)

И результатом будет:

4
2
3
1
5

Задание 8

Вывести на экран список стран, упорядоченный по возрастанию количества городов