Quello che voglio realizzare:Python trasformare una lista in una lista di tuple
[a, b, c, d] -> [ (a, x), (b, x), (c, x), (d, x) ]
Quello che ho pensato finora:
done = []
for i in [a, b, c, d]:
done.append((i, x))
C'è un modo più Pythonic di realizzare questo?
approccio interessante. Ho pensato di usare zip() con [x] * len ([a, b, c, d]), ma non sapevo di itertools. –
>>> x = 'apple' >>> y = [a, b, c, d] >>> zip (y, [x] * len (y)) Anche questo funziona, stavo pensando di modi rapidi di farlo usando l'array direttamente senza salvarlo in una variabile. – jamylak
Ho appena letto [questo post sul blog su 'repeat'] (http://rhodesmill.org/brandon/2012/counting-without-counting/), è molto veloce. Direi che uno o entrambi sono più veloci degli altri metodi. Il secondo è molto intelligente. – agf