5. Структуры данных

Эта глава более подробно описывает некоторые моменты, с которыми вы уже знакомы, и также добавляет некоторые новые факты.

5.1. Подробнее о списках

Списковый тип данных имеет несколько больше методов. Здесь все методы списковых объектов:

list.append(x)
Добавляет элемент в конец списка. Эквивалентно a[len(a):] = [x].

list.extend(iterable)
Расширяет список добавлением всех элементов из итерации. Эквивалентно a[len(a):] = iterable.

Извлечение данных из словаря

>>> d = {'a':1, 'b':2, 'c':22, 'ap':'>'}
>>> for i in d:   # ключи
...     print(i)
... 
a
ap
c
b
>>> for i in d:   # ключи
...     print(d[i])   # но по ключам можно получить значения
... 
1
>
22
2
>>> for i in d.keys():   # Ключи, здесь не актуально, но может использоваться...
...     print(i)         # ...для получения всех ключей в выражении
... 
a
ap
c
b
>>> tuple(d.keys())   # Например (см. пояснение выше)
('a', 'ap', 'c', 'b')
>>> for i in d.values(): # Значения
...     print(i)
...

Теги

Пример работы с данными, представляющими собой таблицу базы данных

Программа загружает данные из файла такого формата, где первое поле - это уникальный ключ:

pr.v|Vasil Vas|30.11.1976|34.5|8
mg.s|Kosin Stepa|08.03.1973|40.1|7
el.p|Pier Pety|16.07.1985|30.8|8

 

В программе данные хранятся в виде словаря, у которого значения ключей представлены списками с четырьмя элементами.

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

В конце данные можно записать в файл.

Сортировка словаря

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

Однако при выводе только ключей или пар "ключ:значение" бывает важно, чтобы ключи шли по порядку. Решить проблему можно путем использования дополнительной упорядоченной структуры, - в данном случае, списка.

Алгоритм сортировки вывода содержимого словаря сводится к следующему: