Abflachen, Duplikate entfernen und eine Liste der Listen in Python sortieren

Von dieser Antwort habe ich eine abgeflachte Liste.

Jetzt möchte ich Duplikate entfernen und die Liste sortieren. Derzeit habe ich folgendes:

x = itertools.chain.from_iterable(results[env].values()) #From the linked answer y = sorted(list(set(x)), key=lambda s:s.lower()) 

Gibt es einen besseren Weg, dies zu erreichen? In meinem Fall x ist von Größe ~ 32.000 und y endet von Größe ~ 1.100. Was ich habe funktioniert, aber ich würde gerne sehen, ob es etwas Besseres (schneller, besser lesbar, etc.)

2 Solutions collect form web for “Abflachen, Duplikate entfernen und eine Liste der Listen in Python sortieren”

Eigentlich, wenn du einfach die Liste () entfernt hast, die nicht benötigt wird, hast du eine schöne, ordentliche Lösung deines ursprünglichen Problems. Dein Code ist perfekt lesbar und effizient ich denke.

 y = sorted(set(x), key=lambda s:s.lower()) 

Da results[env] ein Wörterbuch ist, kannst du einen Satz von Union-Werten erstellen, anstatt die Werte zu glätten und dann das Ergebnis zu sortieren:

 >>> sorted(set().union(*results[env].values()), key=str.lower) 

Beachten Sie auch, dass Sie keine lambda Funktion als Ihren Schlüssel benötigen, können Sie einfach verwenden str.lower Methode.

  • Idiomatischer Weg zum Standard veränderliche Argumente
  • Zeichnung eines Polygons in PyQt
  • PowerPoint & Python: Das Bearbeiten von PPT schlägt fehl, wenn ein Bild erreicht ist
  • Wie komme ich mehr Fäden als Prozesse, die ich nach meinem Pool in py3k Multiprocessing unter Linux gefragt habe?
  • Unicodedecodeerror mit Runserver
  • So bereinigen Sie subprocess.Popen Instanzen auf Prozess-Terminierung
  • Lernen über Warteschlangenmodul in Python (wie man es ausführt)
  • Wie man Python 3.3 Skript in Spyder Konsole mit Variablen ausführen?
  • Wörterbuch: Wie finde ich Max von Elements
  • TypeError: ein Bytes-ähnliches Objekt ist erforderlich, nicht 'str'
  • Ist es möglich, die Spalte in SQLAlchemy zu erstellen, die automatisch mit der Zeit gefüllt wird, wenn sie das letzte Mal eingefügt / aktualisiert hat?
  • Python ist die beste Programmiersprache der Welt.