Files
freeCodeCamp/guide/russian/python/for-loop-statements/index.md
aidilumarov 1308122836 Исправление некоторых ошибок в артикле for-loop-statements (#25982)
* Обновить index.md

Исправление некоторых ошибок, и удаление частей которые don't make any sense.

* Update index.md
2018-12-25 22:08:39 +04:00

5.9 KiB
Raw Blame History

title, localeTitle
title localeTitle
For Loop Statements Записи цикла

Записи цикла

Python использует цикл for для перебора списка элементов. В отличие от C или Java, которые используют цикл for для изменения значения в шагах и доступа к чему-то, например массиву, используя это значение.

Для циклов итерации по структурам данных на основе сбора данных, таким как списки, кортежи и словари.

Основной синтаксис:

for value in list_of_values: 
  # use value inside this block 

В общем, вы можете использовать что-либо как значение итератора, где могут быть назначены записи итерации. Например, вы можете распаковать кортежи из списка кортежей:

list_of_tuples = [(1,2), (3,4)] 
 
 for a, b in list_of_tuples: 
  print("a:", a, "b:", b) 

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

for person in load_persons(): 
  print("The name is:", person.name) 
for character in ["P", "y", "t", "h", "o", "n"]: 
  print("Give me a '{}'!".format(character)) 

Некоторые способы использования циклов For:

Итерация по функции range ()

for i in range(10): 
    print(i) 

Вместо того, чтобы быть функцией, диапазон фактически является неизменным типом последовательности. Результат будет содержать результаты от нижней границы, т. Е. 0 до верхней границы, т. Е. 10, но исключая 10.By по умолчанию нижняя граница или начальный индекс устанавливается на ноль. Вывод:

> 
 0 
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 > 

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

for i in range(4,10,2): #From 4 to 9 using a step of two 
    print(i) 

Вывод:

> 
 4 
 6 
 8 
 > 

Функция xrange ()

По большей части, xrange и range являются точными с точки зрения функциональности. Они оба предоставляют способ генерации списка целых чисел для вас, но, как вам угодно. Единственное различие заключается в том, что диапазон возвращает объект списка Python, а xrange возвращает объект xrange. Это означает, что xrange фактически не создает статический список во время выполнения, например, диапазон. Он создает ценности по мере необходимости с помощью специального метода, называемого yielding. Этот метод используется с типом объекта, который известен как генераторы.

Еще одна вещь, которую нужно добавить. В Python 3.x функция xrange больше не существует. Функция диапазона теперь делает то, что делает xrange в Python 2.x

Итерировать значения в списке или кортеже

A = ["hello", 1, 65, "thank you", [2, 3]] 
 for value in A: 
    print(value) 

Вывод:

> 
 hello 
 1 
 65 
 thank you 
 [2, 3] 
 > 

Итерации по клавишам в словаре (aka hashmap)

fruits_to_colors = {"apple": "#ff0000", 
                    "lemon": "#ffff00", 
                    "orange": "#ffa500"} 
 
 for key in fruits_to_colors: 
    print(key, fruits_to_colors[key]) 

Вывод:

> 
 apple #ff0000 
 lemon #ffff00 
 orange #ffa500 
 > 

Итерацию над двумя списками одинакового размера в одном цикле с помощью функции zip ()

A = ["a", "b", "c"] B = ["a", "d", "e"]

for a, b in zip(A, B):
  print(a, b, a == b)

Вывод:

a a True
b d False
c e False

Можно for использовать с функцией enumerate() для получения индекса итерируемого объекта:

A = ['Первый объект', 'Второй объект', 'Третий объект']

for index, item in enumerate(A):
  print('Индекс:', index, '--->', item)

Вывод:

Индекс: 0 ---> Первый объект
Индекс: 1 ---> Второй объект
Индекс: 2 ---> Третий объект

На самом деле, функция for может быть использована с любым объектом который годен для итерации, включая итераторов и генераторов (iterator objects, generator objects). Дополнительная информация доступна по следующим ссылкам: