Zawartość:

Bezpłatny kurs Pythona ➞ Mini kurs dla początkujących i doświadczonych programistów. 4 ciekawe projekty portfolio, komunikacja na żywo z prelegentem. Kliknij i dowiedz się, czego możesz nauczyć się na kursie.
Dowiedz się więcejJęzyk programowania Python w dużej mierze opiera się na bibliotekach, które rozszerzają jego funkcjonalność. Każdą bibliotekę można zainstalować i zaimportować do projektu, co pozwala na korzystanie z jej możliwości w razie potrzeby. Najbardziej istotne i przydatne biblioteki są zawarte w standardowej instalacji Pythona i są automatycznie ładowane przez interpreter, dzięki czemu są dostępne dla programistów natychmiast po instalacji. Upraszcza to proces programowania i przyspiesza rozwój projektów o różnym stopniu złożoności.
Biblioteka kolekcji to potężne narzędzie do pracy z danymi w Pythonie. Oferuje wydajne i wygodne alternatywy dla standardowych typów danych, takich jak słowniki, listy i krotki. Dzięki bibliotece kolekcji możesz znacznie poprawić wydajność i uprościć kod, używając struktur danych, takich jak deque, defaultdict i Counter. Narzędzia te umożliwiają programistom efektywniejsze zarządzanie danymi poprzez optymalizację operacji wstawiania, usuwania i wyszukiwania. Biblioteka kolekcji jest niezbędna dla tych, którzy chcą poprawić jakość i szybkość przetwarzania danych w swoich projektach w Pythonie.
Biblioteka kolekcji to niezastąpione narzędzie dla programistów i analityków danych pracujących z danymi. Znacznie upraszcza ona zadania związane z obliczaniem wartości, organizowaniem kolekcji i szybką konwersją danych z plików CSV i baz danych SQL. Wielu profesjonalistów zauważa, że po zapoznaniu się z tą biblioteką zadaje sobie pytanie: „Jak ja sobie wcześniej bez niej radziłem?”. Korzystanie z kolekcji pozwala zoptymalizować przepływy pracy i zwiększyć wydajność przetwarzania danych.

defaultdict: słownik bezbłędny
Standardowy słownik dict w Pythonie zawiera Pary klucz:wartość. Wartość słownika można odpytać według klucza. Jeśli żądany klucz nie znajduje się w słowniku, Python zgłosi błąd:
Zachowanie standardowego słownika Pythona może być logiczne, ale czasami nie jest do końca wygodne w użyciu. W tym kontekście warto rozważyć słownik defaultdict z modułu kolekcji. Ten ulepszony słownik zachowuje się inaczej: jeśli zażądany zostanie klucz, którego nie ma w słowniku, nie zgłasza błędu, ale zwraca wartość domyślną, unikając niepotrzebnych wyjątków i upraszczając przetwarzanie danych. To sprawia, że defaultdict jest doskonałym narzędziem w sytuacjach, gdy trzeba pracować z dynamicznie zmieniającymi się zbiorami danych, w których może brakować niektórych kluczy.
- utwórz ten klucz;
- utwórz dla niego wartość, która będzie miała domyślny typ (stąd nazwa), taki jak liczba całkowita lub ciąg znaków;
- i — tada! — zwróć tę wartość.
Python ma standardowe metody słownikowe, takie jak .setdefault() i .get(), które zapewniają podobną funkcjonalność. Jednak ich używanie może być bardziej skomplikowane, ponieważ za każdym razem trzeba określić wartość domyślną. Natomiast w tym przypadku możemy zdefiniować typ dla wszystkich wartości naraz, co upraszcza pracę ze słownikiem. Następnie wystarczy po prostu uzyskać dostęp do wartości za pomocą klucza, co czyni kod bardziej czytelnym i łatwiejszym w użyciu.
Jak działa ten proces?
Pierwszy wiersz importuje moduł defaultdict z biblioteki kolekcji. Ten moduł zapewnia wygodny sposób tworzenia słowników z wartościami domyślnymi. Korzystanie z defaultdict upraszcza pracę ze zbiorami danych, unikając błędów związanych z brakującymi kluczami. Jest to szczególnie przydatne podczas przetwarzania danych, w których nie wiadomo z góry, które klucze mogą zostać użyte.
W drugim przykładzie przekonwertowaliśmy nasz poprzedni słownik my_dict na nowy słownik my_new_dict. Typ danych „int” określony w nawiasach oznacza, że domyślnie tworzone wartości będą liczbami całkowitymi, a konkretnie zerem.
Teraz drukujemy nasz słownik my_new_dict, aby zapoznać się z jego zawartością. Interpreter Pythona wyświetla następujące informacje:
- typ słownika: defaultdict;
- domyślny typ wartości: int;
- a także bieżącą zawartość naszego słownika. Klucza „d” tam nie ma, tak jak w oryginalnym słowniku my_dict.
W następnym wierszu żądamy elementu o podanym kluczu. I proszę bardzo, my_new_dict zwraca wartość 0.
Zwróć uwagę na zaktualizowaną zawartość naszego słownika, gdzie pojawiła się nowa para ‘d’: 0. Ta zmiana może wskazywać na wprowadzenie nowych danych lub modyfikację istniejących wartości, co jest ważne dla analizy i pracy z danymi w naszym projekcie. Należy rozważyć, jak ten nowy wpis może wpłynąć na dalsze operacje na słowniku, w tym wyszukiwanie, aktualizowanie i usuwanie elementów. Optymalizacja struktury danych pomoże poprawić wydajność i efektywność przetwarzania informacji.
Podczas tworzenia słownika defaultdict można używać różnych standardowych typów danych zamiast int, takich jak float, list, str i inne słowniki słownikowe. Pozwala to na automatyczne tworzenie nowych elementów przy pierwszym dostępie do klucza odpowiadającego określonemu typowi. Na przykład, podczas używania float, nowe elementy zostaną zainicjowane wartościami zerowymi, dla list – pustymi listami, dla str – pustymi ciągami znaków, a dla dict – pustymi słownikami. Takie podejście upraszcza pracę z danymi i zwiększa elastyczność ich przetwarzania.
Słownik defaultdict w Pythonie udostępnia wszystkie metody dostępne w standardowych słownikach, takich jak .items(), .values(), .keys() i inne. Dzięki temu jest wygodnym narzędziem do pracy ze zbiorami danych, umożliwiającym efektywne zarządzanie brakującymi wartościami i unikanie błędów podczas dostępu do nieistniejących kluczy. Korzystanie z defaultdict jest szczególnie przydatne, gdy trzeba zainicjować wartości domyślne dla nowych kluczy, co znacznie upraszcza kod i poprawia jego czytelność.
namedtuple: krotka, po prostu nazwana
Krotka w Pythonie, często nazywana „niezmienną listą”, to struktura danych zawierająca stałą liczbę elementów. Dostęp do każdego elementu krotki można uzyskać za pomocą jego indeksu. Krotki są przydatne do przechowywania danych, które nie powinny się zmieniać podczas wykonywania programu, co czyni je idealnymi do pracy ze stałymi lub grupami powiązanych wartości.
W przypadku prostych zadań krotki są całkowicie uzasadnione; jednak wraz ze wzrostem liczby elementów w krotce dostęp do indeksu może znacznie skomplikować kod. Ma to negatywny wpływ na jego czytelność i łatwość utrzymania. Dlatego podczas pracy z dużymi zbiorami danych warto rozważyć alternatywne struktury danych, które zapewniają wygodniejszy dostęp do elementów i zarządzanie nimi.
Biblioteka kolekcji Pythona oferuje przydatne narzędzie: funkcję namedtuple. Rozszerza ona standardowe krotki, umożliwiając każdemu elementowi krotki nadanie własnej nazwy. Tworzy to nazwane pola, które mogą wygodnie przechowywać wartości, przypominając strukturę wierszy w tabeli. Użycie namedtuple sprawia, że kod jest bardziej czytelny i łatwiejszy w zarządzaniu, co jest szczególnie ważne podczas pracy z dużymi ilościami danych.
W rezultacie otrzymujemy słownik, który jest niezmienny, ale jednocześnie bardziej czytelny. Takie podejście upraszcza interakcję z danymi i poprawia użyteczność kodu, co jest szczególnie ważne w tworzeniu oprogramowania.
Zaimportowaliśmy funkcję namedtuple z modułu kolekcji. Następnie utworzyliśmy konstruktor namedtuple o nazwie fruit, określając niezbędne parametry. Pozwala nam to wygodnie pracować z danymi, zapewniając dostęp do elementów po nazwie, co czyni kod bardziej czytelnym i łatwiejszym w użyciu. Użycie namedtuples to skuteczny sposób na strukturyzację danych w Pythonie.
- ogólna nazwa krotek, które będziemy tworzyć (‘fruit’);
- ciąg zawierający nazwy pól namedtuple. Nazwy są oddzielone w ciągu spacją.
Po tym powstały dwie krotki nazwane: jabłko i pomarańcza. Krotki te umożliwiają wygodne przechowywanie i przetwarzanie danych poprzez kojarzenie wartości z jasnymi nazwami. Korzystanie z krotek nazwanych poprawia czytelność kodu i czyni go bardziej zrozumiałym dla programistów, co jest szczególnie ważne podczas pracy z dużymi ilościami informacji.
Teraz można uzyskać dostęp do elementów tych krotek nazwanych nie za pomocą indeksów, ale za pomocą nazw pól: liczba, sortowanie i kolor. Pola te są atrybutami krotek nazwanych i można uzyskać do nich dostęp za pomocą kropki, bez potrzeby stosowania nawiasów. Takie podejście upraszcza pracę z danymi i sprawia, że kod jest bardziej czytelny i zrozumiały.
Krotki nazwane zachowują wszystkie cechy krotek prostych, w tym wysoką wydajność i niezmienność. Obsługują one również metody właściwe dla zwykłych krotek. Oficjalna dokumentacja zawiera wysokiej jakości przykłady ich użycia. Nazwane krotki są wygodne w tworzeniu ustrukturyzowanych danych i upraszczają dostęp do elementów po nazwie, co czyni kod bardziej czytelnym i zrozumiałym.
Counter: Liczenie wszystkiego
Counter to specjalna klasa słownikowa w Pythonie przeznaczona do zliczania obiektów. Jak sama nazwa wskazuje, jej główną funkcją jest śledzenie liczby odrębnych elementów. W tej klasie klucze to elementy, które mają zostać zliczone, a wartości to liczba tych elementów. Przyjrzyjmy się kilku przykładom użycia Counter, aby lepiej zrozumieć jego możliwości.
Najczęściej występującą literą w tekście jest „b”, która pojawia się 8 razy. Na liście liczb najczęściej występującymi literami są 5 i 7, które występują po 3 razy każda. Liczenie słów w zdaniu można uprościć, koncentrując się na liczbie elementów na liście.
Funkcja Counter udostępnia wszystkie standardowe metody słownikowe, a także dodatkowe funkcje elements() i most_common(n). Metoda elements() zwraca listę elementów, których liczba jest większa od zera, podczas gdy most_common(n) zwraca n par najczęstszych elementów jako krotki, gdzie każda krotka składa się z elementu i jego liczby. Funkcje te sprawiają, że praca z liczbami elementów jest wygodniejsza i bardziej efektywna.
Typowe przykłady użycia funkcji Counter() pozwalają efektywnie zliczać liczbę elementów w zbiorach danych. Counter() to wygodne narzędzie do analizy częstości elementów, co jest szczególnie przydatne w zadaniach przetwarzania danych i analizy tekstu.
Dzięki Counter() możesz łatwo policzyć liczbę wystąpień słów w tekście, częstotliwość występowania znaków w ciągu, a nawet liczbę unikalnych wartości na liście. Funkcja ta obsługuje pracę z różnymi typami danych, w tym ciągami znaków, listami i krotkami, co czyni ją wszechstronnym rozwiązaniem do analizy statystycznej.
Używając Counter(), możesz szybko uzyskać podsumowanie rozkładu danych, co pomoże w dalszej analizie i podejmowaniu decyzji. Na przykład w analityce tekstu można użyć funkcji Counter() do identyfikacji najczęściej używanych słów, co może być przydatne w optymalizacji treści SEO.
W ten sposób użycie funkcji Counter() znacznie upraszcza proces zliczania i analizowania danych, pozwalając skupić się na interpretacji wyników i podejmowaniu świadomych decyzji w oparciu o uzyskane informacje.
Co dalej
Narzędzia z biblioteki kolekcji zapewniają wydajną pracę z dużymi wolumenami podobnych danych. Pozwalają one na szybkie przetwarzanie, transformację i przesyłanie informacji. Korzystanie z kolekcji jest szczególnie istotne w przypadkach, gdy ważna jest duża szybkość operacji, niezawodne rozliczanie danych i czytelność kodu. Użyj tej biblioteki, aby zoptymalizować swoje projekty i poprawić ich wydajność.
W kursie „Zostań programistą Pythona” poznasz kluczowe biblioteki Pythona, które staną się niezbędnymi narzędziami w Twojej nauce i karierze. Biblioteki te pomogą Ci rozwinąć umiejętności programistyczne i zwiększyć Twoją konkurencyjność na rynku pracy. Dołącz do nas i odkryj świat możliwości, jakie oferuje Python.

