pyth_07_touple_dict
Заметка 7. Кортеж и словарь
курса Математический практикум по Питону.
Шокуров Антон В.
shokurov.anton.v@yandex.ru
http://машинноезрение.рф
Версия 0.13

Аннотация

Вводится базовы объекты из Питона (Python): кортеж (touple) и словарь (dict). Ключевые слова: touple, index, count, zip, list, dict, pop, popitem, update, setdefault, keys, items, values.

Это предварительная версия! Любые замечания приветствуются.

Кортеж, touple

Мы уже ранее его видели. Всякий раз когда выводятся числа в круглых скобках -- это он. Схож со список, но имет свои отличия. Скорее такой тип данных следует считать набором, т.е. фиксированного размера объект. кортеж.

Формирование

Создание

создания кортежа из одного элемента вещь хитрая.

Предполагается, что компоненты будут иметь определеный смысл.

Методы схожи со списком

Сложный индекс

Остались только фамилия и отчество.

Чего делать нельзя, а что можно

Как и менять состав нельзя:

Добавить новое поле

Упр. Список кортежей некой информации: фио, эмитент/цена, нефтяное месторождение/прогнозируемый объем запаса. Функция печати информации. Распечатать информацию элементов списка.

Применение

zip

Поэлементное произведение списоков

Воспользуемся автоматической распаковкой.

Словарь

Ещё одна сущность очень важная для питона

Пример:

по стране --> столица

по слову на русском языке --> слова на английском

Формирование

Создание

Копирование

"Индексация"

или как извлечь значение

Можно более безопасно извлекать. Так, чтобы не обрабатывать в яном виде отсутствие ключа.

Так можно

Так нельзя...

Как функцию тоже нельзя.

Но так можно

Упр. Посчитать сколько раз встречаются различные буквы в тексте.

Задание значений

Новое значение

Обработка

Упр. Составить словарь функций: sin, tan. Условно будет возможным func['sin'](0.5).

Обработка списком

Как обрабатывать элементы словаря. Например, мы хотим найти элемент словаря с определенным свойстом или что-то со всеми ими сделать.

словарь в обратную сторону

Построим словарь в обратную сторону.

Нельзя присваивать в ламбда операторе. Предполагается, что ламбда оператор действует как функция: на вход значение, на выход значение. Ничего присваивать нельзя.

если нельзя, но очень хочется, то можно

Сложный ключ

Наборы могут выступать в качестве ключа/индекса у словаря.

Выражения

Сложные выражения

Поиск чисел

Что если нужно найти числа? Целые числа. Что есть корректно записанное целое число? Это символ из 1 до 9, а далее символы 0-9 в любом количестве.

Но сработает так

Нужно указать что перед найденной строкой не было цифр... Для этого есть мета символ ^

Ответ можно сгруппировать

Понятие группы

Время найдено, но его все-равно нужно парзисть.

Но, теперь вырезаны отдельные найденные части.

Теперь можно и так:

Когда их много

Упр. Как извлечь название групп? Должно получится ['часы', 'минуты', 'секунды', 'words']

Граматика

Токены

Ручной подход

Собственным циклом

Методом

Упр. Добавить обработку возведения в степень ^. Ну и скобки хотелось бы.