В чем разница между использованием range () и не использованием его в цикле for? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть это:

colors = ["blue","brown","red","yellow","green"]

1.

for color in colors:

2.

for index in range(len(colors)):

В чем разница между использованием 1 и 2 ?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Когда вы говорите for color in colors:, вы перебираете элементы в списке.

for color in colors:
    print(color)

>>> "blue"
>>> "brown"
>>> "red"
>>> "yellow"
>>> "green"

Если вы перебираете индексы, вы получаете:

for index in range(len(colors)):
    print(index)

>>> 0
>>> 1
>>> 2
>>> 3
>>> 4

Вы можете получить дваверсия вместе с использованием enumerate:

for c, color in enumerate(colors):
    print(c, color)

>>> 0 "blue"
>>> 1 "brown"
>>> 2 "red"
>>> 3 "yellow"
>>> 4 "green"
0 голосов
/ 22 ноября 2018

С первым вы получите доступ к локальной переменной цвета в цикле.Это также считается более питоническим.

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

Я не знаю о разнице в производительности, но кто-то может быть.

...