Così ho una serie della seguente forma:Perché non riesco a ottenere due elenchi da una sola comprensione di lista?
[(1, u'first_type', u'data_gid_1'),
(2, u'first_type', u'data_gid_2'),
(3, u'first_type', u'data_gid_3'),
(4, u'first_type', u'data_gid_4')]
Ora voglio per estrarre il primo e l'ultimo elemento di ogni elenco all'interno in elenchi separati. Quindi se lo faccio:
>>> ids = [dat[0] for dat in all_data]
>>> gds = [dat[2] for dat in all_data]
Questo funziona come mi aspetto. Tuttavia Stavo cercando di unire questi due in una sola chiamata, qualcosa di simile:
(ids, gds) = [(dat[0], dat[2]) for dat in all_data]
Questo però non riesce con un: ValueError: too many values to unpack
Così qualcuno potrebbe spiegare perché questo sta accadendo e se quello che sto cercando di fare è persino possibile.
saluti, Bogdan
C'è qualcosa di sbagliato nel lasciarlo come due linee? Voglio dire, a volte è bello essere chiari. –
Niente di male, questa è ancora la soluzione che sto usando, volevo solo capire perché stavo ottenendo l'errore per usi futuri. – Bogdan
@Bogdan Questo è veramente onorevole. Ti darei un +1 per quel commento. – cwallenpoole