В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet27/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   ...   23   24   25   26   27   28   29   30   ...   40
Bog'liq
Боши Лекция Парадигма и методы программирование

2.6 Словари


Одним из сложных типов данных наряду со строками и списками в языке программирования Python являются словари. Словарь — это изменяемый (как список) неупорядоченный (в отличие от строк и списков) набор пар ’ключ:значение’. Словари оказываются очень удобными объектами для хранения данных и, по сути, являются своеобразной заменой базе данных.
Чтобы представление о словаре стало более понятным, можно провести аналогию с обычным словарём, например, англо-русским. На каждое английское слово в таком словаре есть русское слово перевод: cat — кошка, dog — собака, bird — птица и т.д. Если англо-русский словарь описывать с помощью Python, то английские слова будут ключами, а русские — их значениями:
>>> animal = {’cat’:’кошка’, ’dog’:’пёс’, ’bird’:’птица’,
’mouse’:’мышь’}
>>> animal
{’mouse’: ’мышь’, ’cat’: ’кошка’, ’dog’: ’пёс’, ’bird’: ’птица’}
>>> (animal)
< ’dict’>
Обратите внимание на фигурные скобки, именно с их помощью определяется словарь. Такой тип данных в Python называется dict. Если создать словарь в интерпретаторе Python (как и было сделано), то после нажатия можно наблюдать, что последовательность вывода пар ’ключ:значение’ не совпадёт с тем, как было введено. Дело в том, что в словаре абсолютно не важен порядок пар, и интерпретатор выводит их в случайном порядке. Тогда как же получить доступ к определённому элементу, если индексация невозможна в принципе? В словаре доступ к значениям осуществляется по ключам, которые заключаются в квадратные скобки (по аналогии с индексами строк и списков):
>>> animal={’cat’:’кошка’,’dog’:’пёс’,’bird’:’птица’,’mouse’:’мышь’} >>> animal[’cat’]
’кошка’
Словари, как и списки, являются изменяемым типом данных: можно изменять, добавлять и удалять элементы — пары ’ключ:значение’. Изначально словарь можно создать пустым, например, dic = {} и лишь потом заполнить его элементами.
Добавление и изменение имеет одинаковый синтаксис: словарь[ключ] = значение. Ключ может быть, как уже существующим (тогда происходит изменение значения), так и новым (происходит добавление элемента словаря). Удаление элемента словаря осуществляется с помощью функции del(dic[key]) или метода pop(key):
>>> dic = {’cat’:’кошка’,’dog’:’пёс’,’bird’:’птица’,’mouse’:’мышь’}
>>> dic[’cat’] = ’кот’
>>> dic
{’mouse’: ’мышь’, ’cat’: ’кот’, ’dog’: ’пёс’, ’bird’: ’птица’}
>>> dic[’fox’] = ’лиса’
>>> dic
{’fox’: ’лиса’, ’mouse’: ’мышь’, ’cat’: ’кот’, ’dog’: ’пёс’,
’bird’: ’птица’}
>>> (dic[’mouse’])
>>> dic
{’fox’: ’лиса’, ’cat’: ’кот’, ’dog’: ’пёс’, ’bird’: ’птица’}
>>> dic.pop(’fox’)
’лиса’
>>> dic
{’bird’: ’птица’, ’cat’: ’кот’, ’dog’: ’пёс’}
Тип данных ключей и значений словарей не обязательно должен быть строковым:
>>> DicProg = {1:’Pascal’, 2:’Python’, 3:’C’, 4:’Java’}
Словари — это широко используемый тип данных языка Python. Для работы с ними существует ряд встроенных методов и функций. Метод keys() для словаря возвращает последовательность всех используемых ключей в произвольном порядке. Для определения наличия определенного ключа раньше был метод has_key(), но в версии 3.0 вместо него есть знакомый нам оператор in:
>>> DicProg.keys()
dict_keys([1, 2, 3, 4])
>>> 1 DicProg
True
>>> ’Pascal’ DicProg
False

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   ...   23   24   25   26   27   28   29   30   ...   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling