Porady. Pandas. Python. Django. Microsoft Power BI. Tableau.

Python. Słowniki - efektywne struktury danych klucz-wartość

07.2024 | python | słowniki | dictionary

Słowniki (ang. dictionaries) są jednym z najpotężniejszych i najczęściej używanych typów danych w Pythonie. Oferują one szybki dostęp do danych i elastyczność w organizowaniu informacji.

Podstawowe cechy słowników

  1. Struktura klucz-wartość: Każdy element w słowniku składa się z klucza i odpowiadającej mu wartości.
  2. Mutowalne: Można dodawać, usuwać i modyfikować elementy po utworzeniu słownika.
  3. Nieuporządkowane (przed Python 3.7): Elementy nie mają określonej kolejności.
  4. Unikalne klucze: Każdy klucz w słowniku musi być unikalny.

Tworzenie słowników

Słowniki można tworzyć na kilka sposobów:

# Użycie nawiasów klamrowych
slownik1 = {'klucz1': 'wartość1', 'klucz2': 'wartość2'}

# Użycie konstruktora dict()
slownik2 = dict(klucz3='wartość3', klucz4='wartość4')

# Użycie metody fromkeys()
slownik3 = dict.fromkeys(['a', 'b', 'c'], 0)

Operacje na słownikach

Słowniki obsługują wiele użytecznych operacji:

# Dodawanie/aktualizacja elementów
slownik1['nowy_klucz'] = 'nowa_wartość'

# Dostęp do elementów
wartosc = slownik1['klucz1']

# Usuwanie elementów
del slownik1['klucz2']

# Sprawdzanie czy klucz istnieje
if 'klucz3' in slownik2:
    print("Klucz istnieje")

# Metody słowników
klucze = slownik1.keys()
wartosci = slownik1.values()
elementy = slownik1.items()

Zastosowania słowników

  1. Mapowanie danych:
    kody_krajow = {'PL': 'Polska', 'DE': 'Niemcy', 'FR': 'Francja'}
  2. Liczenie wystąpień:
    licznik = {}
    for slowo in tekst.split():
        licznik[slowo] = licznik.get(slowo, 0) + 1
  3. Przechowywanie konfiguracji:
    config = {
        'host': 'localhost',
        'port': 5432,
        'user': 'admin',
        'password': 'secret'
    }

Zalety używania słowników

  • Szybki dostęp do danych (O(1) w średnim przypadku).
  • Elastyczność w organizowaniu danych.
  • Czytelny i intuicyjny sposób reprezentacji danych.
  • Łatwość w modyfikacji i aktualizacji danych.

Słowniki są niezwykle wszechstronnym narzędziem w Pythonie, szczególnie przydatnym w przetwarzaniu danych, analizie tekstu, konfiguracji aplikacji i wielu innych dziedzinach programowania.

Wdrażam rozwiązania analityczne, buduję raporty zarządcze i pomagam zrozumieć dane.

Korzystam z Google Marketing Cloud, Microsoft Power BI, Google Cloud oraz Python.

Pracowałem m.in. dla Credit Suisse, Phonak, Hansaton, Unitron, Nestle, IBM, Play.

Jestem współtwórcą grupy Hexe Capital SA.

Zapraszam do lektury i współpracy.

Krzysztof Surowiecki

Chcę porozmawiać o współpracy →

Moje certyfikaty