Sie können eine Liste in Python in eine Menge umwandeln.
Bildnachweis: Poike/iStock/GettyImages
Listen und Mengen in Python enthalten beide Gruppen von Elementen, aber es gibt wichtige Unterschiede zwischen den beiden. Mengen sind insbesondere für die Durchführung einer Vielzahl von Operationen wie Vereinigungen und Schnittmengen nützlich, während Listen weniger mathematische Operationen, aber nützlich zum Suchen nach bestimmten Elementen – insbesondere bei Duplikaten – und zum Organisieren Daten. Aus vielen Gründen müssen Sie in Python möglicherweise eine Liste in eine Menge konvertieren, und es gibt eine einfache Funktion, die Sie dafür verwenden können.
Python-Listen und -Sets erklärt
Der wichtigste Unterschied zwischen einer Liste und einer Menge in Python besteht darin, dass eine Liste doppelte Elemente enthalten kann, während eine Menge nur eindeutige Elemente enthält. Wenn Sie beispielsweise eine Liste mit Testergebnissen haben, die als "Scores=[14, 20, 13, 20, 15]" definiert ist, wird die Liste sagt Ihnen jeden Wert, aber wenn Sie ihn in eine Menge umwandeln, entfernt es das Duplikat und lässt {14, 20, 13, 15}.
Video des Tages
Ein weiterer Unterschied besteht darin, dass eckige Klammern für Listen verwendet werden, während geschweifte Klammern für Mengen verwendet werden. Die Sache wird ein wenig kompliziert durch die Tatsache, dass ein Python-Wörterbuch auch geschweifte Klammern verwendet, aber dort besteht jedes Element aus dem Wert selbst und einem durch einen Doppelpunkt getrennten "Schlüssel".
Denken Sie daran, dass Sie Strings, Integer, Floats oder andere Objekte als Teil eines Sets oder einer Liste verwenden können, und diese können auch in demselben Set oder einer Liste gemischt werden. So wie Sie in Python einen Zahlensatz haben können, können Sie auch einen Python-Satz von Strings konstruieren.
Konvertieren Sie eine Liste in ein Set
Der Prozess zum Konvertieren einer Liste in eine Menge in Python ist unkompliziert. Zunächst definieren Sie die Liste so, dass sie für die darin enthaltenen Informationen sinnvoll ist. Angenommen, Sie möchten eine Liste mit Namen definieren, könnten Sie schreiben names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] Beachten Sie die eckigen Klammern, Anführungszeichen um die Zeichenfolgen (die Namen) und Kommas, die jeden Eintrag trennen.
Um diese Liste in ein Set umzuwandeln, verwenden Sie den Befehl einstellen(), wobei Sie den Namen der Liste, die Sie konvertieren möchten, in Klammern setzen. In diesem Fall kannst du also schreiben setzen (Namen) um die Namen in der Liste in einen Satz umzuwandeln, und Sie können ihm eine Variable wie "uniquenames" zuweisen und das Ergebnis mit anzeigen drucken (eindeutige Namen), was funktionell äquivalent zu ist drucken (set (Namen)) aber ordentlicher. Sie bestätigen, dass dies richtig gemacht wurde, indem Sie darauf hinweisen, dass das Ergebnis geschweifte Klammern verwendet und "Mike" nur einmal enthalten ist.
Der ganze Code sieht so aus:
names=['Lee', 'Mike','Jamie','Mike','Sarah']
uniquenames=set (Namen)
print('Eindeutige Namen: ', eindeutige Namen)
In diesem Fall wurde der Ausgabe zu Präsentationszwecken "Eindeutige Namen:" hinzugefügt.
Python: Auf Listenkonvertierung setzen
Sie können dieselbe Konvertierung auch in die entgegengesetzte Richtung ausführen, und der Vorgang ist im Grunde der gleiche, außer dass Sie die aufführen() Befehl auf einem Set und nicht umgekehrt. Dies bedeutet, dass Sie zunächst ein Set benötigen, das Sie einfach definieren können, indem Sie eine Variable wie "big_set" auswählen und dann den Inhalt, getrennt durch Kommas und in geschweiften Klammern, hinzufügen. Du könntest schreiben big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} um einen Satz von ganzen Zahlen oder anderen Werten zu definieren.
Um dies in eine Liste umzuwandeln, definieren Sie eine Variable (zB "big_list") und verwenden die aufführen() Befehl, also tippst du etwas wie big_list=Liste (großer_Satz) und dann drucken (große_liste) um das Ergebnis anzuzeigen. Der vollständige Code lautet also:
big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}
big_list=Liste (großer_Satz)
drucken (große_liste)
Dieser Fall gibt der Liste keinen Namen und gibt nur die Liste zurück. Beachten Sie, dass beim Konvertieren einer Liste in einen Satz und dann wieder zurück alle wiederholten Werte bei der ersten Konvertierung verloren gehen und sie nicht zurückkommen.