Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Запись путей к файлам
Первый вызов функции sorted возвращает копию списка, отсортированную в привычном порядке. Второй вызов возвращает копию списка, отсортированную в обратном порядке. В последнем вызове функции sorted определена функция "key", к которой мы вернемся через несколько мгновений. Обратите внимание, что в языке Python функции являются самыми обычными объектами, поэтому они могут передаваться другим функциям в виде аргументов и сохраняться в коллекциях без излишних формальностей.

Не забывайте, что имя функции - это ссылка на объект функции, а круглые скобки, следующие за именем, сообщают интерпретатору Python о необходимости вызова этой функции. Когда функции sorted передается функция key (в данном случае -функция abs ), она будет вызываться для каждого элемента списка (каждый элемент будет передаваться функции в виде единственного аргумента), чтобы создать "декорированный" список. Затем выполняется сортировка декорированного списка, после чего в качестве результата возвращается не декорированный список. Мы легко можем использовать собственные функции в качестве аргумента key, в чем вы вскоре убедитесь.

Оба фрагмента воспроизводят новый список: ["Cutter", "ketch", "schooner", "Sloop", "Yawl"], хотя действия, которые они выполняют, не идентичны, потому что во фрагменте справа создается промежуточный список temp. В языке Python реализован адаптивный алгоритм устойчивой сортировки со слиянием, который отличается высокой скоростью и интеллектуальностью и особенно хорошо подходит для сортировки частично отсортированных списков, что встречается достаточно часто.

Слово "адаптивный" в названии алгоритма означает, что алгоритм сортировки адаптируется под определенные условия, например, учитывает наличие частичной сортировки данных. Слово "устойчивый" означает, что одинаковые элементы не перемещаются относительно друг друга (в конце концов, в этом нет никакой необходимости), и слова "сортировка со слиянием" - это общее название используемых алгоритмов сортировки. Когда выполняется сортировка списка целых чисел, строк или данных других простых типов, используется оператор "меньше чем" (
Навигация: 1 2 3
 
 
© Copyright