Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
@mit: Der Aufruf von `readlines()` ist überflüssig. Den Namen `dict` sollte man nicht neu binden, denn dann kann man die gleichnamige Funktion nicht mehr verwenden. Was man in diesem Fall zum Beispiel so machen könnte:
@achilles_69: Ich bin nicht ganz sicher, dass jeder Key nur einmal in der Datei vorkommt. Könnte man den Code so ändern, dass ich weiss welche Key mehrmals vorkommt oder wenigsten die Anzahl der doppelten Keyes erhalte?
from collections import defaultdict
d = defaultdict(list)
for s in input_file
if not s.startswith('#'):
k, v = s.rstrip().split('\t', 1)
d[k].append(v)
# doppelte ausgeben:
print [(k, v) for k, v in d.items() if len(v) > 1]
Grundlegend kannst du dich ja darauf verlassen das jede Liste mindestens 1 Element hat (also index 0).
Nun musst du aber entscheiden welchen Eintrag du verwenden möchtet wenn ein Key mehrfach vergeben ist.
Dafür muss es ja irgend eine Regel geben, oder?!
Zuletzt geändert von Zap am Donnerstag 28. Januar 2010, 06:23, insgesamt 1-mal geändert.