Реализация сортировки Python

realizaciya sortirovki python Структуры данных

Еще одним главным занятием многих систем является сортировка: упорядочение элементов коллекций в соответствии с некоторым ограничением. Сценарий в примере 18.25 определяет простую функцию сортировки на языке Python, которая упорядочивает список объектов по полю. Поскольку операция индексирования в языке Python является универсальной операцией, поле может быть индексом или ключом — эта функция может сортировать списки последовательностей или отображений.

Пример 18.25. PP4E\Dstruct\Classics\sort1.py

def sort(list, field): res = [] # всегда возвращает список

for x in list:

i = 0

for y in res:

if x[field] <= y[field]: break # узел списка попадает сюда?

i += 1 res[i:i] = [x] # вставить в результат

return res

if __name__ == ‘__main__’:

table = [ {‘name’:’john’, ‘age’:25}, {‘name’:’doe’, ‘age’:32} ] print(sort(table, ‘name’)) print(sort(table, ‘age’))

table = [ (‘john’, 25), (‘doe’, 32) ] print(sort(table, 0)) print(sort(table, 1))

Ниже приводится результат работы программного кода самотестирования этого модуля. В первых двух тестах выполняется сортировка словарей, в последних — кортежей:

C:\\PP4E\Dstruct\Classics> python sort1.py

[{‘age’: 32, ‘name’: ‘doe’}, {‘age’: 25, ‘name’: ‘john’}]

[{‘age’: 25, ‘name’: ‘john’}, {‘age’: 32, ‘name’: ‘doe’}]

[(‘doe’, 32), (‘john’, 25)] [(‘john’, 25), (‘doe’, 32)]

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий