Aktualisiere Wörterbuch mit dynamischen Schlüsseln und Werten in Python

9

Ich habe ein Wörterbuch und möchte Schlüssel und Werte dynamisch einfügen, aber ich habe es nicht geschafft. Das Problem ist, dass wenn ich die Update-Methode verwende, es kein Paar hinzufügt, aber es löscht die vorherigen Werte, so dass ich nur den letzten Wert habe, wenn ich das Wörterbuch drucke Hier ist mein Code

%Vor%

f ist eine Datei, die ich mit Python-Code analysiere Als Ergebnis bekomme ich

%Vor%

welches ist das letzte Element. gibt es eine Lösung, um alle Elemente in meinem Wörterbuch zu haben

Vielen Dank im Voraus

Ich habe eine andere Frage

Jetzt muss ich prüfen, ob ein Eingabewert gleich einem Schlüssel aus meinem Wörterbuch ist, und wenn es so ist, muss ich den Wert dieses Schlüssels abrufen, um die Datei weiter zu analysieren und andere Informationen zu erhalten.

Hier ist mein Code:

%Vor%

Ich bekomme einen keyError

%Vor%

Ich verstehe das Problem nicht

    
user850287 13.12.2012, 12:36
quelle

3 Antworten

18

Entfernen Sie die folgende Zeile:

%Vor%

und fügen Sie vor Ihrer Schleife Folgendes hinzu:

%Vor%

Andernfalls erstellen Sie bei jeder Iteration ein brandneues Ein-Element-Wörterbuch.

Auch das Folgende:

%Vor%

ist prägnanter als

geschrieben %Vor%

Beachten Sie schließlich, dass die gesamte Schleife als Wörterbuchverstehen neu geschrieben werden kann:

%Vor%     
NPE 13.12.2012, 12:38
quelle
1

Sie könnten len() verwenden, um den Wert einzufügen:

%Vor%     
HelpNeeder 18.02.2016 02:56
quelle
0

@NPE hat auf das Problem in Ihrem Code hingewiesen (das dict bei jeder Iteration neu definiert).

Hier ist eine weitere Möglichkeit, das dict (Python 3-Code) zu generieren:

%Vor%

Über die KeyError: '1' : input() gibt eine Zeichenfolge in Python 3 zurück, aber das Wörterbuch mydict erwartet eine ganze Zahl. Um die Zeichenfolge in Ganzzahl zu konvertieren, rufen Sie int :

auf %Vor%     
jfs 13.12.2012 12:54
quelle

Tags und Links