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?"