Словари

Сегодня мы рассмотрим новый тип данных, который заметно отличается от тех, которыми мы пользовались ранее. В разных языках он называется по разному, например, в Перле это хэш (hash), в Яве или С# отображение (map), в Яваскрипте - ассоциативный массив. В Питоне же он называется словарь. В некотором смысле, он похож на массивы или списки, но в качестве элементов участвуют не одиночные объекты какого-либо типа, а пара. Первая часть пары называется ключ, а вторая - значение.

До значения всегда можно добраться обратившись к нему по ключу, например:

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

Словарь можно создать и другим способом, прямо в момент объявления переменной:

Так как словарь это еще и коллекция (вместе с списками и другими представителями этого класса), в Питоне существует удобный способ перебора всех элементов:

Лишнюю запись из словаря удалить можно с помощью функции del()

Задача 6

Скачайте следующие два файла. Напомню: щелкнуть по ссылке правой кнопкй, в меню выбрать «Сохранить объект как…» и выбрать куда сохранить файл.

cities.txt

countries.txt

Файл countries.txt хранит список стран мира в формате

номерстраны;названиестраны

А файл cities.txt список городов, в чуть более сложном формате

номергорода;номерстраны;названиегорода

Напишите программу, которая сначала читает из файла список стран и сохраняет их в словарь с названием countries.

После чего, читает файл со списком городов и по мере чтения выводит на экран строки вида

В стране названиестраны есть город названиегорода.

Например:

В стране Венгрия есть город Сольнок

Подсказка 1: Для решения задачи понадобится воспользоваться функцией split и вспомнить как работать с файлами (Вспомнить можно тут)

Подсказка 2: Обратите особое внимене на количество столбцов в файле cities.txt и на их значение.

Дополнительные данные