функция перечисления цикла for, возвращающая неожиданный результат - PullRequest
0 голосов
/ 29 апреля 2019

Привет, я новичок в Python и, проходя функцию перечисления, получаю неожиданный результат. Ниже мой код.

for index, course in enumerate(courses, start= 1):
    print(index, course)

Я ожидаю увидеть:

1 PE
2 Comsci

но я получаю это обратно:

(1, 'Math') 
(2, 'PE')
(3, 'Comsci')

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Из того, что я могу собрать, вы пытаетесь распечатать все, кроме первых элементов вашего courses -списка.

Как Остин прокомментировал ваш вопрос, вам нужно использовать courses[1:] вместо courses в вашем счетчике.

Это

courses=["MATH", "PE", "COMSCI"]
for index, course in enumerate(courses[1:], start=1):
    print(index, course)

возвращает

(1, 'PE')
(2, 'COMSCI')
0 голосов
/ 29 апреля 2019

Вы можете использовать itertools, чтобы сделать это:

import itertools
courses = ['a', 'b', 'c']
for index, course in itertools.islice(enumerate(courses), 1, None)):
    print((index, course))

напечатает

(1, 'b')
(2, 'c')
...