Прежде всего следует помнить, что python использует нулевую индексацию.
Вы можете выполнять итерации по списку, за исключением использования функции range, чтобы получить индексы элементов, которые вы хотите, или фрагменты, чтобы получить элементы.
Что меня смущает, так это то, что в вашем примере значения и индексы одинаковы, поэтому для пояснения я буду использовать этот список в качестве примера:
I = ['a', 'b', 'c', 'd', 'e']
nI = len(I) # 5
Функция диапазона позволититерировать по индексам:
for i in range(1, nI):
print(i)
# Prints:
# 1
# 2
# 3
# 4
Если вы хотите получить доступ к значениям с помощью функции диапазона, вы должны сделать это следующим образом:
for index in range(1, nI):
i = I[index]
print(i)
# Prints:
# b
# c
# d
# e
Вы также можете использовать нарезку массива длясделайте это, и вам даже не нужно nI
.Срез массива возвращает новый массив с вашим срезом.
Срез выполняется с помощью the_list_reference[start:end:steps]
, где все три параметра являются необязательными и:
start
- это индекс первого, который будет включен в срез
end
- это индекс первого элемента, который должен быть исключен из среза.
steps
- это количество шагов для каждого следующего индекса, начиная с (как и ожидалось) start
(если steps
равно 2 и начинается с1 получает каждый нечетный индекс).
Пример:
for i in I[1:]:
print(i)
# Prints:
# b
# c
# d
# e