Listy vs krotki vs zbiory w Pythonie

Python ma trzy popularne sposoby trzymania kilku wartości razem. Lista może się zmieniać i trzyma kolejność, krotka to stały rekord, a zbiór zapomina duplikaty. Każdy przykład poniżej został uruchomiony, a pokazany wynik jest dokładny.

Listy: kolejność, i mogą się zmieniać

Lista to domyślna kolekcja: append dodaje na koniec, a pętla for idzie po elementach po kolei. Użyj listy, gdy grupa będzie rosnąć albo maleć, na przykład ekwipunek.

parts = ["wrench"]
parts.append("cable")
print(parts)

Wynik:

['wrench', 'cable']

Krotki: stały rekord

Krotki nie da się edytować w miejscu. To dobry wybór na współrzędną albo dowolną parę, którą chcesz rozpakować na dwa nazwy. Zwracanie dwóch wartości z funkcji też buduje krotkę.

point = (3, 4)
x, y = point
print(x)
print(y)

Wynik:

3
4

Zbiory: unikalne elementy

Zbiór wyrzuca duplikaty i szybko odpowiada na "czy to tu jest?". Pusty zbiór to set(), bo {} to pusty słownik. set(needed) <= set(have) pyta, czy każdy potrzebny element już jest.

needed = {"wrench", "cable"}
have = ["wrench", "cable", "chip", "wrench"]
print(needed <= set(have))

Wynik:

True

Częste pytania

Czy mogę użyć krotki jako klucza słownika?
Tak, bo krotki nie da się zmienić. Lista nie może być kluczem. To jeden powód, dla którego współrzędne często są krotkami.
Jak zrobić pusty zbiór?
Wołaj set(). Napisanie {} daje pusty słownik.
Kiedy wybrać zbiór zamiast listy?
Gdy duplikaty nie mają znaczenia, a zależy ci na przynależności, na przykład "czy mam każdą część tego przepisu?"

Ćwicz to