Повторите один и тот же список, начиная с разных точек в Python

#python #iterator #iteration #iterable

#питон #итератор #итерация #повторяемый

Вопрос:

Я хочу повторить один и тот же список с двух разных отправных точек. Я могу сделать это так:

 for LayerIndex in range(len( layers ) - 1):  thisLayer = layers[LayerIndex ]  nextLayer = layers[LayerIndex   1 ]  

Но я уверен, что для этого должен быть более простой способ сделать это.

Комментарии:

1. Мне не совсем ясно, что вы пытаетесь здесь сделать. Зависит ли один итератор от другого или они независимы? Зачем вам нужны два одновременно?

Ответ №1:

В качестве опции вы можете извлечь индекс списка из перечисления этого списка:

 for index, elem in enumerate(layers):   if(indexlt;(len(layers)-1)):   thiseLayer= elem   nexteLayer= layers[index 1]  

Дополнительное if здесь просто проверяет, действительно ли существует следующий элемент.

Я не уверен, что это более «питоническое», хотя

Ответ №2:

Да, вы можете это сделать, но не забывайте, что вторая переменная (nextLayer) не может превышать длину списка/кортежа.