Python: Powszechne struktury danych
Ta dokumentacja jest częścią przewodnika Nauka Pythona. Pełny przewodnik znajdziesz tutaj: Kompleksowy przewodnik po Pythonie.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Python cloud, które zapewnia wiele korzyści, w tym:
- Wdrażaj swoją aplikację w kilka sekund za pomocą prostego
git push.- Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
- Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
- Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Python cloud hosting Stackhero zajmuje tylko 5 minut!
Python oferuje kilka struktur danych, które pomagają efektywnie organizować, przechowywać i manipulować danymi. Najczęściej używane to listy, krotki, słowniki i zbiory. Listy i krotki utrzymują uporządkowaną sekwencję elementów, słowniki przechowują pary klucz-wartość, a zbiory przechowują unikalne elementy. Każda struktura oferuje szereg metod dostosowanych do konkretnych zastosowań.
- Lista:
my_list = [1, 2, 3, 4] - Krotka:
my_tuple = (1, 2, 3, 4) - Słownik:
my_dictionary = {'key1': 'value1', 'key2': 'value2'} - Zbiór:
my_set = {1, 2, 3, 4}
Listy
Listy to zmienne, uporządkowane kolekcje elementów. Pozwalają na duplikaty i mogą zawierać elementy różnych typów danych, w tym inne listy, krotki, słowniki lub zbiory. Można łatwo dodawać, aktualizować i usuwać elementy. Listy są definiowane w nawiasach kwadratowych [] z elementami oddzielonymi przecinkami.
Kluczowe punkty dotyczące list:
- Zmienne i uporządkowane
- Pozwalają na duplikaty
- Utrzymują kolejność dodawania elementów
- Obsługują wiele typów danych
- Oferują operacje dodawania, aktualizacji i usuwania elementów
Listy są często używane, gdy potrzebujesz dynamicznej i zmieniającej się kolekcji elementów.
Przykłady:
# Tworzenie listy
my_list = [1, 2, 3, 4, 5]
# Dostęp do elementów
print(my_list[0]) # Wynik: 1
print(my_list[-1]) # Wynik: 5
# Dodawanie elementów
my_list.append(6)
print(my_list) # Wynik: [1, 2, 3, 4, 5, 6]
# Aktualizacja elementów
my_list[0] = 0
print(my_list) # Wynik: [0, 2, 3, 4, 5, 6]
# Usuwanie elementów
del my_list[0]
print(my_list) # Wynik: [2, 3, 4, 5, 6]
Słowniki
Słowniki to zmienne, nieuporządkowane kolekcje par klucz-wartość. Każdy klucz musi być unikalny, a za pomocą tych kluczy można uzyskać dostęp do powiązanych wartości. Podobnie jak listy, słowniki mogą przechowywać elementy różnych typów danych, w tym zagnieżdżone kolekcje. Są definiowane w nawiasach klamrowych {} z parami klucz-wartość oddzielonymi przecinkami, a klucze i wartości oddzielone dwukropkiem.
Kluczowe punkty dotyczące słowników:
- Zmienna i nieuporządkowana kolekcja
- Składa się z par klucz-wartość z unikalnymi kluczami
- Dostęp do wartości za pomocą kluczy
- Przechowują różne typy danych
Słowniki są idealne do zadań wymagających wyszukiwania, takich jak ustawienia konfiguracyjne lub liczniki częstotliwości.
Przykłady:
# Tworzenie słownika
my_dictionary = {'a': 1, 'b': 2, 'c': 3}
# Dostęp do elementów
print(my_dictionary['a']) # Wynik: 1
# Dodawanie elementów
my_dictionary['d'] = 4
print(my_dictionary) # Wynik: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
# Aktualizacja elementów
my_dictionary['a'] = 0
print(my_dictionary) # Wynik: {'a': 0, 'b': 2, 'c': 3, 'd': 4}
# Usuwanie elementów
del my_dictionary['a']
print(my_dictionary) # Wynik: {'b': 2, 'c': 3, 'd': 4}
Krotki
Krotki to niezmienne, uporządkowane kolekcje elementów. Działają podobnie jak listy, z tym że po utworzeniu krotki jej elementy nie mogą być zmieniane, dodawane ani usuwane. Krotki są definiowane za pomocą nawiasów () z elementami oddzielonymi przecinkami.
Kluczowe punkty dotyczące krotek:
- Niezmienna i uporządkowana kolekcja
- Obsługują wiele typów danych
- Struktura o stałym rozmiarze
Krotki są przydatne, gdy potrzebujesz niezmiennej kolekcji lub gdy chcesz użyć kolekcji jako klucza słownika.
Przykład:
# Tworzenie krotki
my_tuple = (1, 2, 3, 4, 5)
# Dostęp do elementów
print(my_tuple[0]) # Wynik: 1
print(my_tuple[-1]) # Wynik: 5
# Uwaga: Krotki są niezmienne
Zbiory
Zbiory to zmienne, nieuporządkowane kolekcje, które przechowują unikalne elementy. Automatycznie usuwają duplikaty i nie utrzymują kolejności. Zbiory mogą zawierać elementy różnych typów danych, z wyjątkiem typów zmiennych, takich jak listy i słowniki. Mogą być definiowane za pomocą nawiasów klamrowych {} lub konstruktora set().
Kluczowe punkty dotyczące zbiorów:
- Zmienne i nieuporządkowane
- Przechowują tylko unikalne elementy, automatycznie usuwając duplikaty
- Wykluczają typy zmienne (jak listy i słowniki)
Zbiory są idealne do testowania członkostwa, deduplikacji i wykonywania operacji na zbiorach, takich jak suma, przecięcie i różnica.
# Tworzenie zbioru
my_set = {1, 2, 3, 4, 5}
# Sprawdzanie członkostwa
print(1 in my_set) # Wynik: True
# Dodawanie elementu
my_set.add(6)
print(my_set) # Wynik: {1, 2, 3, 4, 5, 6}
# Aktualizacja przez usunięcie jednego elementu i dodanie innego
my_set.remove(1)
my_set.add(0)
print(my_set) # Wynik: {0, 2, 3, 4, 5, 6}
# Usuwanie elementu
my_set.remove(0)
print(my_set) # Wynik: {2, 3, 4, 5, 6}