Listy i kolekcje danych

Kolekcje danych w Pythonie

Python oferuje różne struktury danych do przechowywania i organizowania informacji.

Listy (Lists):

Listy to zmienne kolekcje elementów. Można je modyfikować po utworzeniu.

# Tworzenie listy
fruits = ["jabłko", "banan", "pomarańcza"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "tekst", True, 3.14]

# Dostęp do elementów (indeksowanie od 0)
print(fruits[0])      # jabłko
print(fruits[-1])     # pomarańcza (ostatni element)

# Dodawanie elementów
fruits.append("gruszka")
fruits.insert(1, "kiwi")

# Usuwanie elementów
fruits.remove("banan")
popped = fruits.pop()  # usuwa i zwraca ostatni element

# Długość listy
print(len(fruits))

Metody list:

  • append(x) – dodaje element na końcu
  • insert(i, x) – dodaje element na pozycji i
  • remove(x) – usuwa pierwszy element x
  • pop() – usuwa i zwraca ostatni element
  • sort() – sortuje listę
  • reverse() – odwraca kolejność

Krotki (Tuples):

Krotki to niezmienne kolekcje. Po utworzeniu nie można ich modyfikować.

# Tworzenie krotki
coordinates = (10, 20)
person = ("Jan", "Kowalski", 30)

# Dostęp do elementów
print(coordinates[0])  # 10
print(person[1])       # Kowalski

# Krotki są niezmienne
# coordinates[0] = 15  # Błąd!

Słowniki (Dictionaries):

Słowniki przechowują pary klucz-wartość.

# Tworzenie słownika
person = {
    "name": "Jan",
    "age": 30,
    "city": "Warszawa"
}

# Dostęp do wartości
print(person["name"])      # Jan
print(person.get("age"))   # 30 (bezpieczniejszy sposób)

# Dodawanie/modyfikacja elementów
person["job"] = "Programista"
person["age"] = 31

# Usuwanie elementów
del person["city"]
job = person.pop("job")    # usuwa i zwraca wartość

# Iteracja po słowniku
for key in person:
    print(f"{key}: {person[key]}")

for key, value in person.items():
    print(f"{key}: {value}")

Zbiory (Sets):

Zbiory przechowują unikalne elementy bez określonej kolejności.

# Tworzenie zbioru
fruits_set = {"jabłko", "banan", "pomarańcza"}
numbers_set = {1, 2, 3, 4, 5}

# Dodawanie elementów
fruits_set.add("gruszka")

# Operacje na zbiorach
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

union = set1 | set2        # suma zbiorów
intersection = set1 & set2 # część wspólna
difference = set1 - set2   # różnica

List comprehensions:

Kompaktowy sposób tworzenia list na podstawie istniejących kolekcji.

# Tradycyjny sposób
squares = []
for i in range(5):
    squares.append(i ** 2)

# List comprehension
squares = [i ** 2 for i in range(5)]

# Z warunkiem
even_squares = [i ** 2 for i in range(10) if i % 2 == 0]

Ćwiczenie:

Stwórz różne kolekcje danych i eksperymentuj z ich metodami.

Brak odpowiedzi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *