Il giorno 24 settembre 2012 21:54, enrico franchi
enrico.fran...@gmail.comha scritto:
{k: map(op.itemgetter(1), v) for (k, v) in it.groupby(base,
op.itemgetter(0))}
Poi non sono completamente convinto che sparare una dict comprehension
cosi' complicata e funzionale sia un'ottima idea in
2012/9/21 Marco De Paoli depao...@gmail.com:
ciao a tutti,
ho le seguenti liste:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]
e vorrei ottenere il seguente dizionario:
result = {1: [100, 200], 2: [], 3: [100]}
Un altro modo puo' essere:
base = [(1, 100), (1, 200), (3,
Il giorno 26 settembre 2012 17:37, Stefano Dal Pra s.dal...@gmail.com ha
scritto:
Un altro modo puo' essere:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]
d = {}
x = [d.setdefault(x[0],[]).append(x[1]) for x in base] + [
d.setdefault(n,[]) for n in categories ]
d
{1:
On 26/09/12 17:45, Marco De Paoli wrote:
Il giorno 26 settembre 2012 17:37, Stefano Dal Pra s.dal...@gmail.com
mailto:s.dal...@gmail.com ha scritto:
Un altro modo puo' essere:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]
d = {}
x =
2012/9/21 Marco De Paoli depao...@gmail.com:
2) ... c'è qualcosa di più pythonico?
{k: map(op.itemgetter(1), v) for (k, v) in it.groupby(base, op.itemgetter(0))}
Non particolarmente testato... in particolare direi che si basa anche
sul fatto che la sopra
la lista sia raggruppata per chiave.
ciao a tutti,
ho le seguenti liste:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]
e vorrei ottenere il seguente dizionario:
result = {1: [100, 200], 2: [], 3: [100]}
In pratica ogni chiave in categories è presente in result eventualmente con
valore lista vuota.
Ho pensato alla
2012/9/21 Marco De Paoli depao...@gmail.com
ciao a tutti,
ho le seguenti liste:
base = [(1, 100), (1, 200), (3, 100)]
categories = [1, 2, 3]
e vorrei ottenere il seguente dizionario:
result = {1: [100, 200], 2: [], 3: [100]}
In pratica ogni chiave in categories è presente in result
Il giorno 21 settembre 2012 15:33, Marco Beri marcob...@gmail.com ha
scritto:
A me piace di più così:
result = dict((c, []) for c in categories)
for k, v in base:
result[k].append(v)
La list comprehension usata per risparmiare il for non mi gusta troppo...
yess, molto più leggibile