C'è un modo intelligente per scrivere una lista di comprensione su più di una lista?Valori Python di più elenchi in un elenco di comprensione
So che potrei usare un elenco di intervalli separato come indice ma in questo modo devo conoscere la lunghezza (o ottenerla separatamente con una chiamata di funzione len()
).
>>> a = range(10)
>>> b = range(10, 0, -1)
>>> [(a[x],b[x]) for x in range(10)]
[(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
Mi piacerebbe avere qualcosa di simile:
>>> [(a,b) for a in range(10) and b in range(10, 0, -1)]
[(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
Come ti scrivere la lista di comprensione? C'è un modo per farlo con itertools?
L'elenco di intervalli corrisponde a qualsiasi elenco e non voglio necessariamente ottenere una tupla. potrebbe anche esserci una funzione che accetta a e b come parametri. Quindi zip non è quello che voglio.
AGGIORNAMENTO: Con "Così zip non è quello che voglio." Volevo dire che io non voglio zip(range(10), range(10, 0, -1))
Duplicato di [9184497] (http://stackoverflow.com/questions/9184497/python-list-comprehension-function-with- argomenti-in-due-liste)? – quazgar