Najlepsza odpowiedź
Istnieją pewne istotne różnice:
- Indeksowanie – lista może być indeksowana liczbą całkowitą (zaczynając od 0); zestaw nie może być indeksowany (nie ma pojęcia pierwszego elementu w zestawie, z wyjątkiem sytuacji, gdy jest iterowany).
- Krojenie – listę można kroić (używając notacji [a: b]); zestaw Pythona nie może być podzielony na plasterki.
- Zawartość – lista może zawierać dowolną kombinację elementów danych; zestaw może zawierać tylko te elementy danych, które można mieszać (tj. funkcja hash () zwraca wartość).
- Duplikaty – lista może zawierać zduplikowane elementy danych – nie ma ograniczenia co do tego, ile razy elementy na liście pojawia się równa wartość; zestaw nie może zawierać duplikatów.
- Kolejność – listy są uporządkowane, co oznacza, że zachowują kolejność określoną przez program za pomocą listy; zestawy nie są uporządkowane – nie ma koncepcji pierwszego, drugiego itd. – i nie ma możliwości, aby programista mógł kontrolować kolejność, w jakiej zestaw jest iterowany, wyświetlany lub prezentowany w inny sposób. (Uwaga: kolejność to nie to samo, co sortowanie – ale zestawy też nie mogą być sortowane).
- członkostwo – test członkostwa (operator „in”) na liście to wyszukiwanie liniowe od pierwszego do ostatni, ubiegły, zeszły ; test członkostwa na zbiorze jest oparty najpierw na hash () szukanej wartości. Przeszukiwanie zestawu jest znacznie wydajniejsze w porównaniu z listą o podobnym rozmiarze.
- Inne możliwości – listy nie mają zachowań służących do tworzenia nowych list na podstawie nakładania się lub różnic między listami; zbiory z drugiej strony mają niezliczone operacje (i metody) służące do identyfikowania różnic i nakładek między zbiorami.
Odpowiedź
Zbiory to struktury danych podobne do list lub słowników. Tworzy się je za pomocą nawiasów klamrowych lub funkcji set . Dzielą pewne funkcje z listami, na przykład użycie w , aby sprawdzić, czy zawierają konkretny element.
num\_set = {1, 2,3,4,5}
word\_set = set ([„spam”, „jajka”, „kiełbasa”])
print (3 in num\_set)
print („spam” nie in word\_set)
>> Prawda
>>> Fałsz
Uwaga: Aby utworzyć pusty zestaw, musisz użyć set (), ponieważ {} utwórz pusty słownik.
Zestawy różnią się od list pod kilkoma względami, ale mają kilka wspólnych operacji na listach, takich jak len . Są nieuporządkowane, co oznacza, że nie mogą być indeksowane. nie mogą zawierać zduplikowanych elementów. Ze względu na sposób, w jaki są przechowywane, jest to szybciej , aby sprawdzić, czy element jest częścią zestawu, a nie częścią listy. Zamiast używać dołącz aby dodać do zestawu, użyj dodaj . Metoda remove usuwa określony element z zestawu; pop usuwa dowolny element.
Zestawy można łączyć za pomocą operacji matematycznych. union operator | łączy dwa zestawy, tworząc nowy zawierający elementy w jednym z nich. operator przecięcia & pobiera elementy tylko w obu. różnica operator – pobiera elementy w w pierwszym zestawie, ale nie w drugim. Operator różnicy symetrycznej ^ pobiera elementy w jednym z zestawów, ale nie w obu.
Kiedy używać słownika: – kiedy potrzebujesz logicznego powiązania między klucz: wartość para. – Gdy potrzebujesz szybkiego wyszukiwania danych w oparciu o niestandardowy klucz. – Gdy Twoje dane są stale modyfikowane. Pamiętaj, słowniki są zmienne. Kiedy używać innych typów: – użyj list , jeśli masz zbiór danych, nie potrzebuje dostępu swobodnego. Spróbuj wybrać listy, gdy potrzebujesz prostej, iterowalnej kolekcji, która jest często modyfikowana. – Użyj zestawu , jeśli potrzebujesz unikalności elementów. – Używaj krotek , gdy Twoje dane nie mogą się zmienić.
Mam nadzieję, że to Ci pomoże.
Miłego kodowania.
Ostatnia rzecz, jeśli ci się to podoba, a potem zagłosuj za nią „zmotywuje mnie.