Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXIX Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 11 июля 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Мацук А.С. СЛОВАРИ В ЯЗЫКЕ PYTHON // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXIX междунар. студ. науч.-практ. конф. № 7(78). URL: https://sibac.info/archive/technic/7(78).pdf (дата обращения: 22.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

СЛОВАРИ В ЯЗЫКЕ PYTHON

Мацук Анатолий Сергеевич

студент ВМ-ИВТ-1-1 ФГБОУ ВО АГПУ,

РФ, г. Армавир

Гурова Евгения Александровна

научный руководитель,

старший преподаватель, Институт прикладной информатики, математики и физики, университет АГПУ

РФ, г. Армавир

Словари в Python - беспорядочные коллекции совершенно произвольных объектов с доступом по ключу.

Их иногда ещё называют ассоциативными массивами или хеш-таблицами. Индексируются при помощи ключей, которые могут быть любого неизменяемого типа. Элементы словаря состоят из двух компонентов. Первый имеет название «ключ», а второй – «значение».

Простейшим примером информации, которую в программе удобно хранить в виде словаря может служить:

  • имя человека и дата его дня рождения;
  • номер авиарейса и аэропорт назначения;
  • личное транспортное средство и его гос. номер.

«Ключом» в словаре может быть любой так называемый «неизменяемый тип» данных, к которому относится число, символьная строка или кортеж (неизменяемый набор значений).

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

<имя словаря> = {<ключ 1>: <значение 1>, {<ключ 2>: <значение 2>, ...}

структура: «имя человека: дата его дня рождения»):

структура: «номер авиарейса: аэропорт назначения»):

R = {‘VRd1899': ‘Краснодар', ‘MTB4381': 'Санкт-Петербург', ‘BBKP1881': 'Волгоград', ‘GSJ157': 'Геленджик'}

Когда тип всех ключей – строковый и они не содержат пробелов, то для создания словаря удобно использовать функцию dict()

R = dict(VRd1899': ‘Краснодар',MTB4381: 'Санкт-Петербург', BBKP1881: 'Волгоград',GSJ157: 'Геленджик')

Добавить элемент в уже существующий словарь можно, указав новый ключ и новое значение в виде:

R['АБ1234'] = 'Сургут'

Если при этом указать уже существующий ключ, соответствующее ему значение будет изменено на новое.

Если же все элементы словаря становятся известными в ходе выполнения программы (с использованием инструкции input() или после расчетов), то сначала надо описать словарь как пустой:

D = {}

а затем добавлять в него значения

for k in range(…):

 kl = input('Введите ключ очередного элемента словаря')

 zn = input('Введите значение очередного элемента словаря')

 R[kl] = zn

d = {'cat': 'кошка', 'dog': 'собака', 'bird': 'птица', 'mouse': 'мышь'}

print(d)

{'dog': 'собака', 'cat': 'кошка', 'mouse': 'мышь', 'bird': 'птица'}

R = {'VRd1899': ' Краснодар ', 'MTB4381': 'Санкт-Петербург', ' BBKP1881 ':'Волгоград', 'GSJ157': 'Геленджик'}

print(R['MTB4381'])

Ключ элементов должен быть уникальным по отношению к другим. Если в словаре имеется повторение — значит будет использовано, то значение с данным ключом, которое ближе к концу словаря. [1, c. 208 – 212]

Таблица 1.

Некоторые другие средства для работы со словарями

Вид

Тип

Формат

Комментарий

Len()

Функция

Len(<имя словаря>)

Возврат количества элементов словаря

Keys()

Функция

Keys(<имя словаря>)

Возврат списка ключей словаря

Values()

Функция

Values(<имя словаря>)

Возврат списка значений словаря

del

Оператор

Del<имя словаря>[<ключ>]

Удаляет элемент словаря по его ключу

Clear()

Метод

<имя словаря>. Clear()

Удаляет все значения из словаря

 

В Python 2 версии метод keys дает нам список, а в версии 3 он выдаёт объект view. Это предоставляет разработчику возможность обновлять словарь, так что view также обновится. Стоит обратить внимание что, когда используется in для текста содержимого словаря, лучше будет сделать это в словаре, а не в списке, выдаваемом методом keys.

  • if "name" in my_dict #Такая конструкция правильная
  • if "name" in my_dict.keys() # Работает но медленее

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

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

  • dict.clear() - очищает словарь.
  • dict.copy() - возвращает копию словаря.
  • classmethod dict.fromkeys(seq[, value]) - создает словарь с ключами из seq и значением value (по умолчанию None).
  • dict.get(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None).
  • dict.items() - возвращает пары (ключ, значение).
  • dict.keys() - возвращает ключи в словаре.
  • dict.pop(key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение).
  • dict.popitem() - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.
  • dict.setdefault(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ с значением default (по умолчанию None).
  • dict.update([other]) - обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются. Возвращает None (не новый словарь!).
  • dict.values() - возвращает значения в словаре. [2]

Можно получить список ключей путем вызова метода keys() в том или ином словаре. Чтобы проверить, присутствует ли ключ в словаре, нужно применить ключ «in» в Python. В некоторых старых версиях Python начиная с 2.3 и более ранних, можно увидеть ключевое слово «has_key», используемое для проверки наличия ключа в словаре. Данный ключ уже является устаревшим в Python 2.x, и был удален, начиная с версии 3.x.

Давайте попробуем создать наш первый словарь:

  • my_dict = {}
  • another_dict = dict()
  • my_other_dict = {"one":1, "two":2, "three":3}
  • print(my_other_dict) # {'three': 3, 'two': 2, 'one': 1}

Первые два примера показывают, как можно создавать пустой словарь. Все словари находятся в фигурных скобках. Заключительная строчка демонстрирует, то что подразумевается, когда говорим «неупорядоченный словарь».

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

  • my_other_dict = {"one":1, "two":2, "three":3}
  • print(my_other_dict["one"]) # 1
  • my_dict = {"name":"JoJo", "address":"123 Happy Way"}
  • print(my_dict["name"]) # 'JoJo'

В первом случае был использован словарь из предыдущего примера, и взяли значение, связанное с ключом, имеющим название one. Второй пример показывает, как задать своё значение для ключа name. Попытаемся выяснить присутствует ли ключ в словаре или нет:

  • print ("name" in my_dict) # True
  • print ("state" in my_dict) # False

Если ключ в словаре, Python выдает нам Boolean True, в противном случае получим Boolean False. Если нужно получить список ключей в словаре, то необходимо сделать следующее:

  • print(my_dict.keys()) # dict_keys(['name', 'address']) [3]

 

Список литературы:

  1. Златопольский Д. М. Основы программирования на языке Python. – М.: ДМК Пресс, 2017.
  2. webhamster.ru/mytetrashare/index/mtb172/15164523423opaqzwxgy
  3. python-scripts.com/lists-tuples-dictionaries
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.