Как я могу добиться повторения нескольких списков в наиболее питоническом режиме?Итерации элементов на нескольких списках python
Скажем, у меня есть 2 списка:
l1 = [1, 2, 3]
l2 = [4, 5, 6]
Как я могу достичь итерации по всему набору элементов l1 и l2 без изменения l1 и l2?
я могу просто присоединиться оба списка, а затем итерации по результату:
l3 = l1[:]
l3.extend(l2)
for e in l3:
# ... whatever with e
Но это решение не звучит для меня как очень вещего, ни эффективного, поэтому я ищу лучший способ.
Вы всегда можете просто перебирать 'l1', а затем итерации' l2', в отдельных циклах. Если в цикле слишком много кода, чтобы его можно было повторять, просто отвлечь его на функцию. Однако, говоря, что «цепочка» почти всегда является лучшим ответом, как предлагает Ф. Дж. Например, если вы хотите использовать genxpr или listcomp или функцию вместо явного цикла, вы не можете просто разбить его на два genexprs. (Ну, вы _can_ ... но только вызвав «цепочку» на результат, так что вы могли бы просто «цепочку» в начале ...) – abarnert