Angenommen, es gibt ein Wörterbuch in Python wie folgt:
x={'a':'1,2,3', 'b':'2,3,4 '}
muss zusammengeführt werden in:
x={'c':'1,2,3,4'}
Drei Dinge müssen zusammengeführt werden Gehen Sie wie folgt vor:
1. Konvertieren Sie die Zeichenfolgein eine Werteliste
2. Führen Sie die beiden Listen zusammen und fügen Sie neue Schlüsselwerte hinzu
Schritt 1 bestanden Die häufig verwendete
-Funktion eval() kann dies tun. Der zweite Schritt erfordert das Hinzufügen eines Schlüsselwerts und das Hinzufügen von Elementen. Der dritte Schritt verwendet die Eigenschaften von set-Sets, um den Effekt zu erzielen Am Ende muss die festgelegte Sammlung jedoch in eine Liste-Liste umgewandelt werden. Der Code lautet wie folgt:
x={'a':'1,2,3','b':'2,3,4'} x['c']=list(set(eval(x['a'])+eval(x['b']))) del x['a'] del x['b'] print x
Das Ausgabeergebnis ist:
{'c': [1, 2, 3, 4]} Bei der Stapelverarbeitung kann es jedoch sein, dass einer der Schlüsselwerte nur ein Element hat, was dazu führt, dass der Compiler ihn als int-Typ erkennt, was zu einem Fehler führt.
x={'a':'1,2,3','b':'2'} x['c']=list(set(eval(x['a'])+eval(x['b']))) del x['a'] del x['b'] print x
Das laufende Ergebnis ist:
Traceback (most recent call last): File "test.py", line 2, in <module> x['c']=list(set(eval(x['a'])+eval(x['b']))) TypeError: can only concatenate tuple (not "int") to tuple
Die Verarbeitungsmethode besteht darin, die Elemente in 'b' künstlich zu kopieren, damit der Compiler sie nicht erkennt Für int:
x={'a':'1,2,3','b':'2'} x['c']=list(set(eval(x['a'])+eval(x['b']+','+x['b']))) del x['a'] del x['b'] print x
Dies funktioniert normal. Hier nutzen wir die Funktion, mit der doppelte Elemente entfernt und dieselben Elemente hinzugefügt werden. Wenn die Elemente in „b“ jedoch leer sind, schlägt diese Methode ebenfalls fehl. Hier müssen Sie die Eigenschaft ausnutzen, dass dem letzten Element in der Python-Liste ein Komma folgen darf, und es wie folgt behandeln.
x={'a':'1,2,3','b':''} x['c']=list(set(eval(x['a']+','+x['b']))) del x['a'] del x['b'] print x
Laufergebnis:
{'c': [1, 2, 3]}Die letzte Methode kann auch die ersten beiden Bedingungen verarbeiten .
Das obige ist der detaillierte Inhalt vonBeispielcode für die Verwendung von Python zum Zusammenführen von Wörterbuchschlüsselwerten und zum Entfernen doppelter Elemente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!