Инструкции

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

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

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

В сети

Пользователей: 125
Из них просматривают:
Аналоги: 71. Видео: 1. Даташиты: 20. Инструкции: 13. Новости: 7. Обзор: 1. Остальное: 3. Партнёры: 1. Программы: 1. Расчёты: 1. Теги: 2. Форум: 3. Чат: 1.
Участников: 3
Гостей: 122

an , Google , Яндекс , далее...
Рекорд 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) требует возможности получить произвольный элемент по индексу.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Обработанные водным раствором щелочи стальные контакты (например, батарейного отсека переносной магнитолы или пульта ДУ) никогда не заржавеют.

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