Учитывая любое количество зашифрованных списков, например.Добавить в zip() в Python
>>> L1 = [1,2,3]
>>> L2 = [1,2,3]
>>> zipped = zip(L1, L2)
[[(1, 1), (2, 2), (3, 3)]
как я могу добавить еще один список, чтобы заархивирован, что дает тот же результат, как
>>> L3 = [5,5,5]
>>> zip(L1, L2, L3)
[(1, 1, 5), (2, 2, 5), (3, 3, 5)]
Я думал в направлении Append(), но это приводит к следующему нежелательному результату
>>> zipped.append(L3)
[(1, 1), (2, 2), (3, 3), [5, 5, 5]]
Фон: Я хочу создать zipped-list в цикле для любого количества списков.
EDIT:
Мне кажется теперь, что я пропускал одну часть моей проблемы. Вот MWE на основе ответа на Райана:
import random
N = 4
zipped2 = zip([1,2,3],[1,2,3]) # works
zipped2 = [] # does not work
for n in range(N):
Ln = random.sample(xrange(100),3)
zipped2 = [old + (new,) for old, new in zip(zipped2, Ln)]
print(zipped2)
Используя этот метод на предварительно сжатые списки отлично работает. Однако я хотел бы создать весь вывод внутри цикла и, таким образом, хотел бы начать с пустого списка.
Извините, я пропустил ваше редактирование. Если вы просто хотите закрепить любое количество списков вместе, это 'zip (* lists)'. – Ryan