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

Когда будет обнаружено самое первое вхождение слова, будет создан новый элемент со значением О (к которому тут же будет прибавлено число 1), а при обнаружении каждого последующего вхождения число 1 будет добавляться к текущему значению. Мы закончили полный обзор всех встроенных типов коллекций языка Python и пары типов коллекций из стандартной библиотеки. В следующем разделе мы рассмотрим некоторые проблемы, общие для всех типов коллекций.

Обход в цикле и копирование коллекций: После того как будет создана коллекция элементов данных, вполне естественно возникает желание обойти все элементы, содержащиеся в ней. В первом подразделе этого раздела мы познакомимся с итераторами языка Python, а также с операторами и функциями, применяемыми для работы с итераторами.

Еще одна часто выполняемая операция - копирование коллекций. Из-за того, что в языке Python повсеместно используются ссылки на объекты (ради повышения эффективности), существуют некоторые особенности, связанные с копированием, поэтому во втором подразделе этого раздела мы изучим принципы копирования коллекций и узнаем, как добиться именно того, что нам нужно.

Порядок, в котором возвращаются элементы, зависит от итерируемого объекта. В случае списков и кортежей элементы обычно возвращаются в предопределенном порядке, начиная с первого элемента (находящегося в позиции с индексом 0), но другие итераторы возвращают элементы в произвольном порядке - например, итераторы словарей и множеств. Встроенная функция iter используется двумя совершенно различными способами.

Применяемая к коллекции или к последовательности, она возвращает итератор для заданного объекта или возбуждает исключение ТуреЕггог, если объект не является итерируемым. Такой способ часто используется при работе с нестандартными типами коллекций и крайне редко - в других контекстах. Во втором варианте использования функции iter ей передается вызываемый объект (функция или метод) и специальное значение.
Навигация: 1 2 3 4
 
 
© Copyright