Code: Alles auswählen
foo - 5
foo - 7
bar - 3
foo - 2
bar - 9
Code: Alles auswählen
{ 'foo' : [5,7,2]}
{ 'bar' : [3,9]}
Code: Alles auswählen
mydict = {}
for item in tabelle:
mydict[item.name]= Wert an die Liste anhängen
Code: Alles auswählen
foo - 5
foo - 7
bar - 3
foo - 2
bar - 9
Code: Alles auswählen
{ 'foo' : [5,7,2]}
{ 'bar' : [3,9]}
Code: Alles auswählen
mydict = {}
for item in tabelle:
mydict[item.name]= Wert an die Liste anhängen
Code: Alles auswählen
>>> a = [("foo", 1), ("bar", 2), ("foo", 3)]
>>> from itertools import groupby
>>> from operator import itemgetter
>>> print dict((k, [x[1] for x in v]) for k, v in groupby(sorted(a, key=itemgetter(0)), key=itemgetter(0)))
{'foo': [1, 3], 'bar': [2]}
Cool, auch nicht schlecht. Allerdings liegen meine Daten nicht als Dict vor. Die müsste ich erst umstrickenstr1442 hat geschrieben:Für das eigentliche Problem gibt es itertools.groupby():
Code: Alles auswählen
>>> a = [("foo", 1), ("bar", 2), ("foo", 3)] >>> from itertools import groupby >>> from operator import itemgetter >>> print dict((k, [x[1] for x in v]) for k, v in groupby(sorted(a, key=itemgetter(0)), key=itemgetter(0))) {'foo': [1, 3], 'bar': [2]}
Code: Alles auswählen
mydict = {}
for item in tabelle:
key, value = item.split(' - ')
if mydict.has_key(key):
mydict[key].append(value)
else:
mydict[key] = [value]
Code: Alles auswählen
d = dict()
for item in table:
key, value = item.split(' - ')
d.setdefault(key, list()).append(value)