Jak przekonwertować listę na zestaw w Pythonie?

Biznesmen używający laptopa w biurze

Możesz przekonwertować listę na zestaw w Pythonie.

Źródło obrazu: Poike/iStock/GettyImages

Listy i zestawy w Pythonie zawierają grupy elementów, ale istnieją między nimi istotne różnice. W szczególności zestawy są przydatne do wykonywania szerokiego zakresu operacji, takich jak sumy i przecięcia, podczas gdy listy mają mniej operacji matematycznych, ale są przydatne do wyszukiwania określonych elementów – zwłaszcza z duplikatami – i organizowania dane. Z wielu powodów może być konieczne przekonwertowanie listy na zestaw w Pythonie i istnieje prosta funkcja, której możesz użyć, aby to zrobić.

Wyjaśnienie list i zestawów Pythona

Najważniejszą różnicą między listą a zestawem w Pythonie jest to, że lista może zawierać zduplikowane elementy, podczas gdy zestaw zawiera tylko unikalne elementy. Na przykład, jeśli masz listę wyników testów zdefiniowaną jako „wyniki=[14, 20, 13, 20, 15]”, lista podaje każdą wartość, ale jeśli przekonwertujesz ją na zestaw, usuwa duplikat i pozostawia {14, 20, 13, 15}.

Wideo dnia

Kolejną różnicą jest to, że nawiasy kwadratowe są używane do list, a nawiasy klamrowe do zestawów. Sprawę trochę komplikuje fakt, że słownik Pythona również używa nawiasów klamrowych, ale tam każdy element składa się z samej wartości i „klucza” oddzielonego dwukropkiem.

Należy pamiętać, że można używać łańcuchów, liczb całkowitych, elementów zmiennoprzecinkowych lub innych obiektów jako części zestawu lub listy, a także można je mieszać w tym samym zestawie lub liście. Tak więc, tak jak możesz mieć zestaw liczb w Pythonie, możesz również skonstruować zestaw łańcuchów Pythona.

Przekształć listę w zestaw

Proces konwersji listy na zestaw w Pythonie jest prosty. Najpierw definiujesz listę w sposób, który ma sens dla zawartych w niej informacji. Na przykład, powiedzmy, że chcesz zdefiniować listę nazwisk, możesz napisać name=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] zwracając uwagę na nawiasy kwadratowe, cudzysłowy wokół ciągów (nazw) i przecinki oddzielające każdy wpis.

Aby przekształcić tę listę w zestaw, użyj polecenia ustawić(), gdzie w nawiasach umieszczasz nazwę listy, którą chcesz przekonwertować. Więc w tym przypadku możesz napisać zestaw (nazwy) aby przekonwertować nazwy z listy na zestaw, i możesz przypisać mu zmienną taką jak "unikalne nazwy" i wyświetlić wynik za pomocą druk (unikalne nazwy), co jest funkcjonalnie równoważne drukuj (zestaw (nazwy)) ale schludniej. Potwierdzasz, że zostało to zrobione poprawnie, zauważając, że wynik używa nawiasów klamrowych, a słowo „Mike” jest uwzględnione tylko raz.

Cały kod wygląda tak:

name=['Lee', 'Mike','Jamie','Mike','Sarah']

unikalne nazwy=zestaw (nazwy)

print('Unikalne nazwy: ', unikalne nazwy)

W tym przypadku do danych wyjściowych dodano „Unikalne nazwy:” w celach prezentacyjnych.

Python: Ustaw konwersję na listę

Możesz również uruchomić tę samą konwersję w przeciwnym kierunku, a proces jest w zasadzie taki sam, z wyjątkiem tego, że używasz lista() polecenie na zestawie, a nie na odwrót. Oznacza to, że na początek potrzebujesz zestawu, który możesz łatwo zdefiniować, wybierając zmienną, taką jak „duży_zestaw”, a następnie dodając zawartość, oddzieloną przecinkami i w nawiasach klamrowych. Możesz napisać big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} aby zdefiniować zbiór liczb całkowitych lub innych wartości.

Aby przekonwertować to na listę, zdefiniuj zmienną (powiedzmy „duża_lista”) i użyj lista() polecenie, więc wpisujesz coś takiego big_list=lista (big_set) i wtedy drukuj (duża_lista) aby wyświetlić wynik. Tak więc pełny kod to:

big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}

big_list=lista (big_set)

drukuj (duża_lista)

Ten przypadek nie nadaje liście nazwy, więc zwraca tylko listę. Zwróć uwagę, że jeśli przekonwertujesz listę na zestaw, a następnie z powrotem, stracisz wszystkie powtarzające się wartości podczas pierwszej konwersji i nie wrócą.