890.78K

Словари в Python

1.

Словари

2.

Словари - это неупорядоченные коллекции пар "ключ-значение". В
качестве ключей могут использоваться ссылки на хешируемые
объекты, а в качестве значений - ссылки на объекты любого типа.
Т.к. словари являются неупорядоченными коллекциями, то к ним не
применяется понятие индекса элемента и не применяется
операция извлечения среза.

3.

Чтобы создать словарь можно использовать метод dict():

4.

В созданных выше словарях мы получили пары "ключ-значение", в
частности ключ short и соответствующее ему значение dict.
Также можно создать словарь следующим образом:

5.

Еще один способ использовать
метод fromkeys():
Также можно
использовать генератор
словарей:

6.

Как можно работать со словарями:
В первом случае мы обратились к
ключу "1", после чего получили
вывод на экран его значения "2".
Затем мы создали новый ключ "4" и
присвоили ему значение "16",
после чего эта пара добавилась к
нашему словарю. В последнем
примере мы попробовали
обратиться к несуществующему
ключу, поскольку значение '1' стоит
в кавычках, а значит это другой тип
данных, которого нет в нашем
словаре, после чего получили
сообщение о том, что такого
ключа нет.

7.

Методы для работы со словарями
clear() - словарь очищается;
copy() - копия словаря возвращается;

8.

fromkeys(seq[,value]) - словарь создается с ключами из seq и
значением value;
get(key[, default]) - значение ключа возвращается, или если его нет,
то возвращается default;

9.

items() - пары (ключ, значение) возвращаются;
keys() - ключи в словаре возвращаются;

10.

pop(key[, default]) - ключ удаляется и значение возвращается, или
если ключа нет, то возвращается default;

11.

popitem() - с конца удаляется и
возвращается пара (ключ,
значение);
setdefault(key[, default]) - значение
ключа возвращается, или если его
нет, то создается ключ со
значением default;

12.

update([other]) - добавляются пары
(ключ, значение) из other, обновляя
словарь, при это
перезаписываются существующие
ключи;
values() - в словаре возвращаются
значения.

13.

Задание 1
Задан словарь. Напишите программу, которая будет
выводить значение по заданному ключу.
Примечание:
Сначала необходимо объявить переменные, затем написать код,
удовлетворяющий условию задания. Для вывода результата
необходимо использовать функцию print().
Ключи, чьи значения необходимо найти, должны задаваться с
помощью функции input(). Т.к. в данной задаче используется
функция input(), получение значения ключей типа int не
принципиально.

14.

Подставьте "Входные данные" в свою программу и сравните
результат с выходными данными.
1) Входные данные: {'Hello' : 'Hi', 'Bye' : 'Goodbye', 'List' : 'Array'};
Параметр для input() : 'Bye'.
Выходные данные: 'Goodbye'.
2) Входные данные: {'beep' : 'car'};
Параметр для input() : 'beep'.
Выходные данные: 'car'.
3) Входные данные: {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5};
Параметр для input() : 'c'.
Выходные данные: 3.

15.

Задание 2
Напишите программу, которая будет выполнять действие, обратное
заданию 1. Программа должна производить поиск по значению и
выдавать ключ.
Значения, чьи ключи необходимо найти, должны задаваться с
помощью функции input().
Подставьте "Входные данные" в свою программу и сравните результат с выходными
данными.
1) Входные данные: {'Hello' : 'Hi', 'Bye' : 'Goodbye', 'List' : 'Array'};
Параметр для input() : 'Hi'.
Выходные данные: 'Hello'.
2) Входные данные: {'beep' : 'car'};
Параметр для input() : 'car'.
Выходные данные: 'beep'.
3) Входные данные: {'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5};
Параметр для input() : 5.
Выходные данные: 'e'.

16.

Задание 3
Напишите программу, которая принимает список
строк и выводит количество повторений данных строк в
списке. (Необходимо реализовать решение с
использованием словарей.)
Подставьте "Входные данные" в свою программу и сравните
результат с выходными данными.
1) Входные данные: ['abc', 'bcd', 'abc', 'abd', 'abd', 'dcd', 'abc'].
Выходные данные: 3 1 2 1.
2) Входные данные: ['aaa', 'bbb', 'ccc'].
Выходные данные: 1 1 1.
3) Входные данные: ['abc', 'abc', 'abc'].
Выходные данные: 3.

17.

Ответ:
Задание 1

18.

Ответ:
Задание 2

19.

Ответ:
Задание 3
English     Русский Правила