gt;>> print range(1, 10) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

gt;>> print range(1, 10)

Поиск

Функции range() и xrange()

 

Функция range() уже упоминалась при рассмотрении цикла for.Эта функция принимает от одного до трех аргументов.Если аргумент всего один,она генерирует список чисел от0(включительно) до заданного числа (исключительно). Если аргументов два, то список начинается с числа,указанного первым аргументом.Если аргументов три-третий аргумент

 

задает шаг

 

>>> print range(10)

 

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

>>> print range(1, 10)

[1, 2, 3, 4, 5, 6, 7, 8, 9]

 

>>> print range(1, 10, 3) [1, 4, 7]

 

Функция xrange()-аналог range(),более предпочтительный для использования при последовательном доступе,например,в цикле for или с итераторами.Она возвращает специальный xrange-объект,который ведет себя почти как список,порождаемый range(),но не хранит в памяти все выдаваемые элементы.


 


Функция map()

 

Для применения некоторой функции ко всем элементам последовательности применяется функция map(f, *args).Первый параметр этой функции-функция,которая будет

применяться ко всем элементам последовательности.Каждый следующий n+1-й параметр должен быть последовательностью,так как каждый его элемент будет использован в качестве n-го параметра при вызове функции f().Результатом будет список,составленный из результатов выполнения этой функции.

 

В следующем примере складываются значения из двух списков:

 

>>> l1 = [2, 7, 5, 3]

>>> l2 = [-2, 1, 0, 4]

>>> print map(lambda x, y: x+y, l1, l2) [0, 8, 5, 7]

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

 

соответствующего операнда будет None,что,конечно,собьет операцию сложения.В

 

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

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 61; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.005 с.)