Beispielcode für die Verwendung von Python zum Zusammenführen von Wörterbuchschlüsselwerten und zum Entfernen doppelter Elemente

高洛峰
Freigeben: 2017-03-24 17:32:37
Original
1845 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage