Linguaggio Python per catena (appiattisci) un infinito iterabile di iterabili finiti? python


Answers

Usa un generatore:

(item for it in infinite for item in it)

Il costrutto * scompatta in una tupla per passare gli argomenti, quindi non c'è modo di usarlo.

Question

Questa domanda ha già una risposta qui:

Supponiamo di avere un iteratore (uno infinito) che restituisce elenchi (o iteratori finiti), ad esempio uno restituito da

infinite = itertools.cycle([[1,2,3]])

Qual è un buon idioma Python per ottenere un iteratore (ovviamente infinito) che restituirà ciascuno degli elementi dal primo iteratore, poi ciascuno dal secondo, ecc. Nell'esempio sopra restituirà 1,2,3,1,2,3,... L'iteratore è infinito, quindi itertools.chain(*infinite) non funzionerà.

Relazionato