Словари. Понятие ключей и значений. Создание словарей. Основные функции,методы, операторы для работы со словарями. Словарь, или Dictionary — отображение между ключами (keys) и значениями (values), при котором ключу однозначно соответствует значение. В других языках программирования словари могут называться другими именами: хэши, ассоциативные массивы. В словаре не может быть двух одинаковых ключей, тогда как на значения таких ограничений не накладывается [8].
Его синтаксис следующий:
словарь: {ключ1: значение1, ключ2: значение2, . . ., ключN: значениемN,}
Данный словарь использует строки в качестве ключей, однако ключом может являться в принципе любой неизменяемый тип данных. Значением же конкретного ключа может быть что угодно. Вот ещё один пример словаря, где ключами являются числа, а значениями — строки Создание словаря
Словарь чаще всего создается с помощью литерала или функции d ie t () . Конструкция аналогична конструкции при создании строк, списков или кортежей.
Пример.
Создание словаря.
Код: d= { 1 :'G oogle', 2 : 'M a il', 3 : 'Yandex', 4 : 'Yahoo'}
p rin t (d [1])
dl=dict(g='Google', m='Mail', y='Yandex', yl='Yahoo')
print(dl ['у'])
d2=dict ( [ (1, 'Google'), (2, 'Mail'), (3, 'Yandex' ) , (4, 'Yahoo')]) print(d2 [2]) d3=dict.fromkeys(['Google','Mail','Yandex','Yahoo'], [1,2,3,4])
print(d2 [4])
Результат:
Google
Yandex
Mail
Yahoo
Как видно из примера, задать словарь с помощью d ie t () можно двумя способами, а также это можно сделать посредством метода f romkeys () . Доступ к элементу словаря осуществляется путем указания после имени словаря в квадратных скобках ключа элемента, что аналогично индексу для элемента списка или кортежа.
Операции над словарями
При работе со словарями нельзя осуществить сложение словарей, как со списками или кортежами, однако можно объединить словари посредством метода update().
Такж е можно очистить словарь посредством метода c l e a r () .
Для преобразования двумерного списка в словарь можно также использовать d i e t () .
Аналогичным образом словарь можно создать из кортежа. Также можно сделать новый словарь, созданный посредством копирования исходного словаря методом сору () из модуля сору
Можно удалить соответствующий элемент словаря, используя встроенный оператор del.
При переборе элементов словаря также используется инструкция for.
Пример
Код: d= { 1 :'G o o g le ', 2 : 'M a i l ', 3 : 'Y an d ex ', 4 : 'Yahoo'}
fo r i in d: p r i n t ( i , 'э т о ', d [i ])
Результат:
1 э т о G oogle
2 э т о M ail
3 это Yandex
4 э т о Yahoo
. Методы для работы со словарями
Методы clear(), сору(), fromkeys() и update() были рассмотрены в предыдущих параграфах. Приведем другие методы, которые позволяют организовать работу со словарями.
get (ключ, [default]) — возвращает значение ключа (default (по умолчанию) выдает None).
items() — возвращает пару «ключ — значение».
keys() — возвращает только ключ.
pop (ключ, [default]) — удаляет и возвращает ключ, по умолчанию вызывает исключение.
values() — выводит значения в словаре. Используя данные предыдущего примера, интерпретатор выведет:
d ic t_ v a lu e s ( [ 'Иванов', 'П етров', 'С идоров', 'Ж уков']) setdefault (ключ, [default]) — возвращает значение ключа в словаре, или None по умолчанию
setdefault (ключ, [default]) — возвращает значение ключа в словаре, или None по умолчанию
МНОЖЕСТВА
Множество — это совокупность неповторяющихся элементов, расположенных в случайном порядке. При этом они могут быть как числовыми, так и символьными. По сути, множество является аналогом множества, используемого в математике. Множество также заключается в фигурные скобки, что иногда приводит к путанице между обозначением множества и словарем. Множество может быть и пустым.
Пример
{1,3,4}
{'М и р ', ' З д р а в с т в у й ', 'п р ек р асн ы й ', ','}
25)Списки. Основные операции со списками. Поиск минимального элемента. Поиск максимального элемента. Нахождение количества элементов. Нахождение суммы и произведения элементов.. Список (list) — это последовательность, которая может изменяться и содержать разнородные элементы, в том числе другие списки. В других языках программирования аналогом списков являются массивы, но в большинстве своем они строго типизированы, а в Python такого ограничения нет. Как было видно из предыдущей темы, когда осуществлялся поиск по шаблону или с помощью %, интерпретатор выводил последовательность вида ['значениеГ, 'значение2’>...], что есть не что иное, как список. Иными словами, интерпретатор в зависимости от кода программы сам создает список
Для доступа к элементу списка по индексу достаточно указать имя списка и в квадратных скобках — значение индекса. Отметим, что индексация элементов списка начинается с нуля.
Пример Вывести третий элемент списка.
Код: s= [ ' s ' , ' р ', ' i ', ' s ' , ' o ' , ' k ']
pr int (s [2])
Результат: i
Извлечение среза осуществляется так же, как и для строк, которые были рассмотрены ранее
Справка. Если в строке кода указать «#», то все символы после него интерпретатор воспринимает как комментарий и они не обрабатываются. Считается хорошим тоном оставлять комментарии. При этом они очень сильно помогают программисту, если программа содержит довольно много строк кода (сотни или тысячи).
Операция конкатенации или сложения списков аналогична операции со строками.
Справка. Если в строке кода указать «#», то все символы после него интерпретатор воспринимает как комментарий и они не обрабатываются. Считается хорошим тоном оставлять комментарии. При этом они очень сильно помогают программисту, если программа содержит довольно много строк кода (сотни или тысячи)
Операция конкатенации или сложения списков аналогична операции со строками.
В первом случае создается список, содержащий шесть элементов, во втором — три элемента, где в алгоритме был использован цикл for, а также функция 1еп(), которая возвращает длину списка, т.е. число его элементов.
Повторение списков аналогично операции со строками.
Пример
Повторить список [1, 2, 3] 2 раза.
Код:
print([1,2,3] *2)
Результат: [1, 2, 3, 1, 2, 3, 1, 2, 3]
Для проверки вхождения элемента в список используется несколько функций. Так, для определения количества вхождений элемента в список используется функция count().
Для определения первого вхождения используется функция index (s, [start, [end]]).
Перебор элементов списка можно осуществлять с помощью циклов for или while, подробнее о которых будет рассказано в соответствующей теме. Также можно обратиться непосредственно к элементу списка, указав соответствующий индекс.
Функция Python max() возвращает самый большой элемент итерабельного объекта. Ее также можно использовать для поиска максимального значения между двумя или более параметрами. Самый простой способ узнать количество элементов в списке - использовать встроенную Python функцию len(). Функция min() возвращает минимальное значение элемента из итерируемого объекта или наименьшее из двух или более переданных позиционных аргументов.