Похоже, здесь действительно нужен индекс в NODES
. Вы получаете это, используя range(len(NODES))
, но range()
также поддерживает необязательный параметр step
, который позволит вам пройти через эти 2 за раз (примечание: вы также должны включить start
, если хотите step
):
for i in range(0, len(NODES), 2):
tex_pairs_to_swap_dict[NODES[i]] = NODES[i+1]
Предполагается, что в списке есть четное количество записей, и в противном случае появится IndexError
.
В качестве альтернативы, если все вы пытаетесь do - это пошагово по списку 2 за раз, вы также можете использовать:
it = iter(NODES)
for k, v in zip(it, it):
tex_pairs_to_swap_dict[k] = v
Это эквивалентно приведенному выше без создания it
переменной:
for k, v in zip(*[iter(NODES)]*2):
tex_pairs_to_swap_dict[k] = v
Это будет молча игнорировать последнее значение в списке нечетного размера.