Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Python / Учебник Python 3.1 / Больше средств для управления потоком команд /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Функция range() - Программирование от RIN.RU
Функция range()

Если вам нужно перебрать последовательность чисел, встроенная функция range() придёт на помощь. Она генерирует арифметические прогрессии:

>>> for i in range(5):
... print(i)
...
0
1
2
3
4


Указанный конец интервала никогда не включается в сгенерированный список; вызов range(10) генерирует десять значений, которые являются подходящими индексами для элементов последовательности длины 10. Можно указать другое начало интервала и другую, даже отрицательную, величину шага.

range(5, 10)
от 5 до 9


range(0, 10, 3)
0, 3, 6, 9


range(-10, -100, -30)
-10, -40, -70


Чтобы пройти по всем индексам какой-либо последовательности, скомбинируйте вызовы range() и len() следующим образом:

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
... print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb


В большинстве таких случаев удобно использовать функцию enumerate(), обратитесь к Организация циклов.
Странные вещи начинают происходить при попытке вывода последовательности:

>>> print(range(10))
range(0, 10)


Во многих случаях объект, возвращаемый функцией range(), ведёт себя как список, но фактически им не является. Этот объект возвращает по очереди элементы желаемой последовательности, когда вы проходите по нему в цикле, но на самом деле не создаёт списка, сохраняя таким образом пространство в памяти.


Мы называем такие объекты итерируемыми (iterable), и это все объекты, которые предназначаются для функций и конструкций, ожидающих от них поочерёдного предоставления элементов до тех пор, пока источник не иссякнет. Мы видели, что оператор for является таким итератором iterator. Функция list() тоже из их числа - она создаёт списки из итерируемых объектов:

>>> list(range(5))
[0, 1, 2, 3, 4]


Позже мы познакомимся и с другими функциями, которые возвращают и принимают итерируемые объекты в качестве параметров.


Назад
Вперед




 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь