Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 38
Из них просматривают:
Аналоги: 14. Видео: 1. Галерея: 1. Даташиты: 6. Инструкции: 2. Новости: 5. Остальное: 1. Теги: 1. Форум: 5. Чат: 2.
Участников: 4
Гостей: 34

an , Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

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

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

 

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

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

 

>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]

 

Для того, чтобы перебрать индексы последовательности, используйте совместно range() и len():

 

>>> a = ['У', 'Матери', 'есть', 'маленькая', 'овечка']
>>> for i in range(len(a)):
...     print i, a[i]
...
0 У
1 Матери
2 есть
3 маленькая
4 овечка

 

Дотошный читатель может заметить, что если нужно перебирать числа большого диапазона, создание списка будет неоправданно, а в некоторых случаях просто не хватит памяти:

 

>>> l=range(1000000000)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

 

Действительно, если мы не собираемся изменять список, достаточно создать псевдосписок — объект, для которого мы можем получить значения "элементов", но не можем изменить их или порядок их следования. Для этих целей в языке Python предусмотрена функция xrange():

 

>>> xrange(5, 10)
xrange(5, 10)
>>> xrange(0, 10, 3)
xrange(0, 12, 3)
>>> xrange(-10, -100, -30)
xrange(-10, -100, -30)
>>> a = ['У', 'Матери', 'есть', 'маленькая', 'овечка']
>>> for i in xrange(len(a)):
...     print i, a[i]
...
0 У
1 Матери
2 есть
3 маленькая
4 овечка

 

Примечания:
  • (в том числе и инструкция for) требует возможности получить произвольный элемент по индексу.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

При замене радиодетали освободить отверстие от припоя можно заострённой спичкой.

Похожие инструкции