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 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:

  1. Zmienne i uporządkowane
  2. Pozwalają na duplikaty
  3. Utrzymują kolejność dodawania elementów
  4. Obsługują wiele typów danych
  5. 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 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:

  1. Zmienna i nieuporządkowana kolekcja
  2. Składa się z par klucz-wartość z unikalnymi kluczami
  3. Dostęp do wartości za pomocą kluczy
  4. 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 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:

  1. Niezmienna i uporządkowana kolekcja
  2. Obsługują wiele typów danych
  3. 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 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:

  1. Zmienne i nieuporządkowane
  2. Przechowują tylko unikalne elementy, automatycznie usuwając duplikaty
  3. 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}