#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) не может превышать длину списка/кортежа.