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

Это необходимо потому, что функция random. sample (используемая вместо random. choice ) принимает итерируемый объект и число элементов, которые требуется воспроизвести - это число не может быть меньше, чем число элементов, которые может вернуть итерируемый объект. Функция random, sample возвращает итератор, который воспроизводит указанное число элементов без повторений. Поэтому данная версия программы всегда будет воспроизводить уникальные имена. В цикле for ... in распаковывается каждый кортеж, возвращаемый функцией zip.

Нам требуется ограничить длину каждого имени 25 символами, а для этого сначала нужно создать строку с полным именем, а затем вторым вызовом метода str. format ограничить ее длину. Каждое имя выравнивается по левому краю, а для имен короче 25 символов производится дополнение строки точками. Дополнительная точка гарантирует, что имена, полностью занимающие поле вывода, все же будут отделяться от года хотя бы одной точкой. В завершение этого подраздела мы упомянем еще две функции, имеющие отношение к итерируемым объектам - sorted и reversedO.

Функция sorted возвращает отсортированный список элементов, а функция reversedO просто возвращает итератор, который позволяет выполнить обход элементов заданного итератора в обратном порядке. В предыдущем фрагменте функция zip возвращает кортежи, состоящие из трех элементов: (-10, 0, 1),(-9, 2, 3) и т. д. Оператор дополняет список, то есть добавляет каждый элемент заданной последовательности в конец списка.
Навигация: 1 2 3
 
 
© Copyright