Dzisiejsza lekcja skupia się na podstawowych strukturach danych w Pythonie: listach, krotkach i słownikach. Nauczysz się, jak efektywnie przechowywać i manipulować danymi, co jest kluczowe w pracy z nauką o danych.
Listy są uporządkowanymi, zmiennymi sekwencjami elementów. Możesz w nich przechowywać różne typy danych (liczby, łańcuchy znaków, a nawet inne listy). Listy są definiowane za pomocą nawiasów kwadratowych []
.
Przykład:
# Tworzenie listy liczb całkowitych
liczby = [1, 2, 3, 4, 5]
# Tworzenie listy łańcuchów znaków
owoce = ['jabłko', 'banan', 'pomarańcza']
# Lista zawierająca różne typy danych
lista_mieszana = [1, 'tekst', 3.14, True]
Podstawowe operacje na listach:
* Dostęp do elementów: Używamy indeksów (zaczynając od 0).
python
print(owoce[0]) # Wyświetli: jabłko
* Dodawanie elementów: Używamy metody append()
lub operatora +
.
python
owoce.append('truskawka')
print(owoce) # Wyświetli: ['jabłko', 'banan', 'pomarańcza', 'truskawka']
owoce = owoce + ['gruszka', 'śliwka']
print(owoce) # Wyświetli: ['jabłko', 'banan', 'pomarańcza', 'truskawka', 'gruszka', 'śliwka']
* Usuwanie elementów: Używamy metody remove()
lub del
(po indeksie).
python
owoce.remove('banan')
print(owoce)
del owoce[0]
print(owoce)
* Długość listy: Używamy funkcji len()
.
python
dlugosc = len(owoce)
print(dlugosc) # Wyświetli: 4
Krotki są uporządkowanymi, niezmiennymi sekwencjami elementów. Oznacza to, że po utworzeniu krotki, nie można modyfikować jej zawartości. Definiowane są za pomocą nawiasów okrągłych ()
. Krotki są szybsze i zużywają mniej pamięci niż listy, gdy nie potrzebujesz modyfikować danych.
Przykład:
# Tworzenie krotki
wspolrzedne = (10, 20)
kolory = ('czerwony', 'zielony', 'niebieski')
Podstawowe operacje na krotkach:
* Dostęp do elementów: Jak w listach, używamy indeksów.
python
print(wspolrzedne[0]) # Wyświetli: 10
* Długość krotki: Używamy funkcji len()
.
python
dlugosc = len(kolory)
print(dlugosc) # Wyświetli: 3
* Niemodyfikowalność: Nie można dodawać, usuwać ani zmieniać elementów krotki.
python
# Poniższy kod spowoduje błąd:
# wspolrzedne[0] = 5 #TypeError: 'tuple' object does not support item assignment
Słowniki przechowują dane w postaci par klucz-wartość. Klucze muszą być unikalne i niezmienne (np. liczby, łańcuchy znaków, krotki). Wartości mogą być dowolnego typu. Słowniki są definiowane za pomocą nawiasów klamrowych {}
. Są niezwykle przydatne do przechowywania i wyszukiwania danych na podstawie kluczy.
Przykład:
# Tworzenie słownika
student = {
'imie': 'Jan',
'nazwisko': 'Kowalski',
'wiek': 20,
'oceny': [4, 5, 3]
}
Podstawowe operacje na słownikach:
* Dostęp do wartości: Używamy kluczy.
python
print(student['imie']) # Wyświetli: Jan
print(student['oceny']) # Wyświetli: [4, 5, 3]
* Dodawanie i modyfikowanie elementów:
python
student['kierunek'] = 'Informatyka' # Dodawanie nowego elementu
student['wiek'] = 21 # Modyfikacja istniejącego elementu
print(student)
* Usuwanie elementów: Używamy słowa kluczowego del
.
python
del student['oceny']
print(student)
* Sprawdzanie obecności klucza: Używamy operatora in
.
python
print('imie' in student) # Wyświetli: True
print('oceny' in student) # Wyświetli: False
* Metody keys()
, values()
, items()
: Używane do iteracji po kluczach, wartościach lub parach klucz-wartość.
python
for klucz in student.keys():
print(klucz)
for wartosc in student.values():
print(wartosc)
for klucz, wartosc in student.items():
print(f'{klucz}: {wartosc}')
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witamy w rozszerzeniu dzisiejszej lekcji! Dziś zagłębimy się jeszcze bardziej w świat list, krotek i słowników w Pythonie. Odkryjemy niuanse, alternatywne zastosowania i jak te podstawowe struktury danych stają się fundamentem dla bardziej zaawansowanych technik w nauce o danych.
W dzisiejszej lekcji skupiliśmy się na podstawach list, krotek i słowników. Teraz przyjrzymy się bardziej zaawansowanym aspektom:
Przykład: Załóżmy, że chcemy podwoić wartości z listy liczb:
numbers = [1, 2, 3, 4, 5]
doubled_numbers = [x * 2 for x in numbers]
print(doubled_numbers) # Output: [2, 4, 6, 8, 10]
.get()
, .setdefault()
, .pop()
. Zrozumienie tych metod znacznie ułatwia manipulację danymi przechowywanymi w słownikach.
Przykład: Użycie .get()
do bezpiecznego pobierania wartości z klucza, który może nie istnieć:
my_dict = {'imie': 'Jan', 'wiek': 30}
wiek = my_dict.get('wiek') # wiek = 30
adres = my_dict.get('adres', 'Nieznany') # adres = 'Nieznany'
Przykład: Użycie krotki jako klucza w słowniku (co jest niemożliwe z listą):
coords = {(1, 2): 'Punkt A', (3, 4): 'Punkt B'}
print(coords[(1, 2)]) # Output: Punkt A
Praktyka czyni mistrza! Rozwiąż poniższe zadania, aby utrwalić zdobytą wiedzę:
imiona = ['Anna', 'Jan', 'Marek', 'Zuzanna']
) wygeneruje listę długości każdego imienia.Wskazówka: Skorzystaj z funkcji len()
w liście składanej.
produkty = {'jablka': 10, 'banany': 5, 'pomarancze': 7}
. Spróbuj pobrać cenę dla 'gruszki' używając .get()
, ustawiając domyślną cenę na 0, jeśli gruszki nie ma w słowniku.Wskazówka: Wykorzystaj drugi argument metody .get()
.
Gdzie możemy spotkać listy, krotki i słowniki w codziennym życiu i w pracy Data Scientist?
Spróbuj swoich sił w bardziej zaawansowanym zadaniu:
Zadanie: Napisz funkcję, która przyjmuje listę słowników. Każdy słownik w liście reprezentuje informacje o osobie (imię, wiek, miasto). Funkcja powinna zwrócić słownik, gdzie kluczami są miasta, a wartościami listy osób mieszkających w danym mieście. Użyj list składanych i metod słownikowych, aby zrealizować to zadanie.
Przykład:
osoby = [
{'imie': 'Anna', 'wiek': 30, 'miasto': 'Warszawa'},
{'imie': 'Jan', 'wiek': 25, 'miasto': 'Kraków'},
{'imie': 'Marek', 'wiek': 40, 'miasto': 'Warszawa'}
]
wynik = przetworz_osoby(osoby)
print(wynik)
# Output: {'Warszawa': ['Anna', 'Marek'], 'Kraków': ['Jan']}
Aby pogłębić swoją wiedzę, warto zapoznać się z poniższymi tematami:
collections
: Python oferuje moduł collections
, który zawiera zaawansowane struktury danych, takie jak namedtuple
, deque
, Counter
, defaultdict
.Series
i DataFrame
), odkryjesz jej moc w analizie i manipulacji danymi.Utwórz listę ulubionych filmów. Dodaj do niej dwa nowe filmy. Usuń jeden film z listy. Wydrukuj ostateczną listę.
Utwórz krotkę z współrzędnymi punktu na płaszczyźnie (x, y). Spróbuj zmienić wartość x. Co się dzieje? Jak możesz rozwiązać ten problem (jeśli musisz zmienić współrzędną)?
Utwórz słownik opisujący książkę. Powinien zawierać klucze: 'tytuł', 'autor', 'rok_wydania', 'gatunek'. Dodaj nowy element 'ocena'. Wydrukuj zawartość słownika. Następnie spróbuj usunąć rok_wydania ze słownika.
Wyobraź sobie, że pracujesz nad projektem analizy danych dla sklepu internetowego. Musisz przechowywać dane o produktach: nazwa, cena, kategoria, dostępność. Jakie struktury danych najlepiej nadawałyby się do reprezentacji tych danych i dlaczego? Jak możesz wykorzystać te struktury, aby szybko znaleźć produkty w danej kategorii lub posortować je po cenie?
Przed następną lekcją, spróbuj znaleźć przykłady użycia list, krotek i słowników w bibliotekach takich jak NumPy lub Pandas. Przygotuj się na lekcję wprowadzającą do biblioteki NumPy.
We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.