2016-05-01 13 views
5

Mi chiedo se esiste un modo semplice per eseguire quanto segue in Python 3.x. Dire che ho due liste strutturate come segue:Elenco zip di tuple con elenco semplice

list_a = [(1,2), (1,2), (1,2), ...] 
list_b = [3, 3, 3, ...] 

Qual è il modo più semplice per produrre un generatore (qui rappresentato da chiamare una funzione funky_zip) che mi permetteva di scorrere queste due liste in questo modo:

>>> for a, b, c, in funky_zip(list_a, list_b): 
>>>  print(a, b, c) 
... 
1 2 3 
1 2 3 
1 2 3 
# and so on 

ho potuto solo fare

for aa, b in zip(list_a, list_b): 
    print(aa[0], aa[1], b) 

ma mi chiedo se c'è un bel modo per fare questo senza dover decomprimere i tuple. Grazie!

risposta

7

Hai solo bisogno di parentesi:

list_a = [(1,2), (1,2), (1,2)] 
list_b = [3, 3, 3] 
for (a, b), c in zip(list_a, list_b): 
    print(a, b, c) 

risultati:

1 2 3 
1 2 3 
1 2 3 
+0

OMG haha. Non sapevo che Python potesse farlo! Grazie –

+0

@ C.Windolf Note, che funziona anche in Pyton 2.7. –

Problemi correlati