Code: Alles auswählen
datei = file('F:\Test.txt','r')
daten = str(datei.read()) #nimmt den Zeilenumbruch nicht mit
datei.close()
liste = daten.split("\n") # das ist der Zeilenumbruch, fungiert als
# Trennungsmarke
for e in range(len(liste)):
woerter = liste[e].split(" - ")
print 'woerter:'
print woerter
d1 = {woerter[0]:woerter[1]} #w0 = Interpret / w1 = Titel
d2 = {woerter[1]:woerter[0]}
print 'd1: '
print d1
print 'd2: '
print d2
Aber ich versteh ned wieso. Angesprochen wird immer das erste und das zweite Element der Liste. Ich erhalte 4 Listen, warum erreicht nur eine das dict? Ich dachte erst es liegt daran, das dict-Zeilen nicht eingerückt sind, aber Fehlanzeige. Kann es sein, das ein dictionary-Einträge jedesmal überschrieben werden?woerter:
['Linkin Park', 'No Roads Left']
woerter:
['SUM41', 'Summer']
woerter:
['Yellowcard', 'Takedown']
woerter:
['Yellowcard', 'Fighting']
d1:
{'Yellowcard': 'Fighting'}
d2:
{'Fighting': 'Yellowcard'}
EDIT: Ach wie geil, ich habs gelöst!! Scheint wirklich jedes mal überschirben zu werden, denn aufgrund dieser Annahme hab ich mir überlegt ich erstelle 2 leere dictionaries und füge dann nach und anch die Werte hinzu. Und voila, es klappt!!
Code: Alles auswählen
d1 = {}
d2 = {}
for e in range(len(liste)):
woerter = liste[e].split(" - ")
print 'woerter:'
print woerter
d1[woerter[0]] = woerter[1] #w0 = Interpret / w1 = Titel
d2[woerter[1]] = woerter[0]
Zef*x, jetzt fehlt bei d1 aber wieder ein Element...woerter:
['Linkin Park', 'No Roads Left']
woerter:
['SUM41', 'Summer']
woerter:
['Yellowcard', 'Takedown']
woerter:
['Yellowcard', 'Fighting']
d1:
{'Linkin Park': 'No Roads Left', 'SUM41': 'Summer', 'Yellowcard': 'Fighting'}
d2:
{'Summer': 'SUM41', 'Fighting': 'Yellowcard', 'Takedown': 'Yellowcard', 'No Roads Left': 'Linkin Park'}