我使用python的內置函數zip()可以創建一個迭代兩個列表合併:將數據添加到拉鍊
l1 = [1,2,3]
l2 = [4,5,6]
zipped = zip(l1,l2)
是否可以「添加」到該壓縮的對象,例如:
l3 = [7,8,9]
zipped2 = zipped.add(l3)
這樣的:
list(zipped2)
會產生:
[(1,4,7),(2,5,8),(3,6,9)]
我試過例如:
zipped2 = zip(zipped,l3)
但是這會導致:
[((1, 4), 7), ((2, 5), 8), ((3, 6), 9)]
(這是有道理的)
一個顯而易見的方法是 '解壓' 壓縮,然後zip()再次包括新的列表,但是,這是不實際的我的應用程序是我想添加一個可變數量的列表取決於一些邏輯,所以我想知道如果th已經有一些內置的功能可以做到這一點。我檢查了itertools,沒有找到明顯的候選人。
如果有人能指出我會正確的方向,將不勝感激。
任何不首先做「zip(l1,l2,l3)」的原因? – DeepSpace
是l1和l2是在算法中的不同位置創建的,我正在尋找一種通用解決方案,您可以在其中動態添加n個列表 – BartDur
如果符合您的條件,請批准此答案:http:// stackoverflow.com/questions/39125200/adding-data-to-an-iterator-created-with-zip/39125301#39125301 – turkus