Słownik Pythona — wszystko, co musisz wiedzieć

Słownik Pythona — wszystko, co musisz wiedzieć

Słowniki Pythona to niezwykle użyteczna struktura danych, do której często będziesz sięgać podczas swoich prac programistycznych. Ich wyjątkowa zdolność do mapowania kluczy do odpowiednich wartości pozwala na szybki, wydajny dostęp i uproszczony kod podczas zarządzania złożonymi zbiorami danych.

Słowniki Pythona są zasadniczo implementacją tablic asocjacyjnych. Zapewniają elastyczny i wydajny sposób przechowywania danych i manipulowania nimi w postaci par klucz-wartość.

Są bardzo wszechstronne i mogą pomieścić zmienne i uporządkowane kolekcje bez duplikowania kluczy.

Gdy zagłębimy się w słowniki Pythona w tym artykule, przekonasz się, że są one potężnymi narzędziami do organizowania i uzyskiwania dostępu do danych.

Dlatego koniecznie zapoznaj się ze słownikami Pythona od podszewki, aby w pełni wykorzystać ich potencjał w swoich projektach!

Słownik Pythona — wszystko, co musisz wiedzieć

Spis treści

Zrozumienie słowników Pythona

Słownik w Pythonie to potężna i elastyczna struktura danych, która umożliwia przechowywanie kolekcji par klucz-wartość. Pomyśl o słowniku jako o sposobie mapowania kluczy na odpowiadające im wartości, co ułatwia pobieranie informacji związanych z określonym identyfikatorem.

Aby utworzyć słownik, możesz użyć nawiasów klamrowych ( { } ) obejmujących oddzieloną przecinkami listę par klucz-wartość. Na przykład:

your_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}

Pamiętaj, że słowniki w Pythonie są zmienne, co oznacza, że ​​możesz modyfikować ich zawartość po ich utworzeniu. Aby dodać lub zaktualizować parę klucz-wartość, użyj następującej składni:

your_dict["new_key"] = "new_value"

#You can also update an old key's value
your_dict["old_key"] = "new_value"

Jeśli chodzi o dostęp do wartości w słowniku, potrzebujesz tylko klucza:

value = your_dict["key1"]

Słownik Pythona — wszystko, co musisz wiedzieć

Jeśli spróbujesz uzyskać dostęp do klucza, który nie istnieje w słowniku, napotkasz błąd klucza. Aby tego uniknąć, możesz użyć metody get():

value = your_dict.get("non_existent_key", "default_value")

Jedną rzeczą, o której musisz pamiętać, jest to, że słownik Pythona nie może zawierać zduplikowanych kluczy. Każdy klucz musi być unikalny i mieć niezmienny typ danych.

Na przykład możesz użyć krotki, łańcucha, liczby całkowitej, a nawet wartości logicznej dla swojego klucza. Nie można jednak używać list, słowników ani zestawów.

Nie ma takich ograniczeń dla wartości. Możesz używać zarówno modyfikowalnych, jak i niezmiennych typów danych.

Usunięcie elementu ze słownika odbywa się za pomocą słowa kluczowego del :

del your_dict["key1"]

Zapewniają również kilka metod iteracji przez ich zawartość. Na przykład możesz zapętlić klucze słownika, wartości, a nawet oba:

for key in your_dict.keys():
    print(key)

for value in your_dict.values():
    print(value)

for key, value in your_dict.items():
    print(key, value)

Możesz teraz używać tych metod i technik słownikowych do wydajnego przechowywania, pobierania i manipulowania danymi podczas pracy z Pythonem .

Jak stworzyć słownik Pythona

Słowniki Pythona można tworzyć na dwa główne sposoby: za pomocą nawiasów klamrowych i konstruktora dict() .

Korzystanie z nawiasów klamrowych

Jedną z metod tworzenia słownika jest użycie nawiasów klamrowych ( {} ). Aby zainicjować pusty słownik, możesz po prostu użyć empty_dict = {} .

Aby utworzyć słownik z parami klucz-wartość, oddziel klucze i wartości dwukropkami. Następnie oddziel każdą parę przecinkiem:

python_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

Używając tego formatu, utworzyłeś słownik Pythona z trzema parami klucz-wartość. Pamiętaj, że klucze muszą być unikalne, podczas gdy wartości słownika mogą być duplikowane.

Korzystanie z konstruktora Dict

Inną metodą tworzenia słownika Pythona jest użycie konstruktora dict() . Aby utworzyć pusty słownik, po prostu wywołaj tę funkcję bez żadnych argumentów: empty_dict = dict() .

Aby utworzyć słownik za pomocą konstruktora dict() , możesz użyć następującej składni:

python_dict = dict(
    key1='value1',
    key2='value2',
    key3='value3'
)

Ta metoda tworzy również słownik języka Python z trzema elementami klucz-wartość. Zauważ, że w przeciwieństwie do metody nawiasów klamrowych, konstruktor dict() nie wymaga cudzysłowów wokół klawiszy.

Jednak wartości słownika nadal wymagają cudzysłowów wokół nich

Teraz, gdy znasz już dwa sposoby tworzenia słowników Pythona, możesz zacząć implementować je w swoim kodzie i wykorzystywać ich zaawansowane funkcje w swoich aplikacjach.

Jak uzyskać dostęp do elementów słownika

W tej sekcji dowiesz się o różnych sposobach uzyskiwania dostępu do elementów w słowniku. Słowniki przechowują dane w parach klucz-wartość, a dostęp do każdej wartości słownika można uzyskać za pomocą odpowiednich kluczy.

Omówimy dwie popularne metody: użycie kluczy i metodę get .

Używanie kluczy

Jednym z najprostszych sposobów uzyskiwania dostępu do elementów słownika jest użycie klawiszy. Aby uzyskać wartość określonego klucza słownika, po prostu umieść klucz w nawiasach kwadratowych obok nazwy słownika:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict['name']

phone_value = mydict['phone-number']

W tym przykładzie name_value przechowuje ciąg znaków „John” . Zauważ, że jeśli spróbujesz uzyskać dostęp do nieistniejącego klucza, Python zgłosi KeyError .

Słownik Pythona — wszystko, co musisz wiedzieć

Korzystanie z metody Get

Alternatywą dla bezpośredniego używania kluczy jest metoda get() , która umożliwia dostęp do elementów słownika bez ryzyka wywołania błędu KeyError. Zamiast tego metoda get zwraca wartość domyślną, jeśli określony klucz nie zostanie znaleziony:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict.get('name', 'Key not found')
country_value = my_dict.get('country', 'Key not found')

W tym przykładzie nazwa_wartość przechowywałaby ciąg „ Jan ” tak jak poprzednio, ponieważ klucz „ nazwa ” jest obecny w słowniku. Jednak wartość_kraju będzie przechowywać wartość domyślną „ Nie znaleziono klucza ”, ponieważ klucz „ kraj ” nie istnieje w słowniku.

Słownik Pythona — wszystko, co musisz wiedzieć

Metoda get() zapewnia bardziej elastyczny sposób uzyskiwania dostępu do elementów słownika, ponieważ umożliwia płynną obsługę brakujących kluczy. Możesz użyć dowolnej metody w zależności od wymagań i możliwości napotkania nieistniejących kluczy.

Jak modyfikować elementy słownika

W tej sekcji dowiesz się, jak modyfikować elementy w słowniku Pythona. Aby to osiągnąć, należy wykonać dwie podstawowe operacje: dodawanie nowych elementów i aktualizowanie istniejących.

Obie te metody pomogą Ci zachować dokładność i użyteczność Twojego słownika. Spójrzmy na nie:

  1. Dodawanie nowych elementów

Dodanie nowego elementu do słownika jest proste. Aby to zrobić, określ nową parę klucz-wartość za pomocą operatora przypisania, takiego jak ten:

your_dict = {"key1": "value1", "key2": "value2"}
your_dict["new_key"] = "new_value"

Po wykonaniu powyższego fragmentu kodu Twój słownik będzie teraz zawierał nową parę:

{"key1": "value1", "key2": "value2", "new_key": "new_value"}

Możesz także dodać wiele par klucz-wartość jednocześnie, używając metody update() słownika

new_elements = {"key3": "value3", "key4": "value4"}
your_dict.update(new_elements)

Teraz twój słownik będzie zawierał następujące wpisy:

{"key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4"}
  1. Aktualizowanie istniejących elementów

Aby zaktualizować wartość istniejącego elementu, wystarczy odwołać się do klucza i przypisać mu nową wartość:

your_dict["key1"] = "updated_value1"

Ta zmiana spowoduje powstanie następującego słownika:

{"key1": "updated_value1", "key2": "value2", "key3": "value3", "key4": "value4"}

Jeśli chcesz zaktualizować wiele elementów jednocześnie, ponownie użyj metody update() . Aby z niego skorzystać, przekaż nowy słownik zawierający żądane modyfikacje.

Na przykład zaktualizujmy słownik your_dict o wartości ze słownika aktualizacje:

updates = {"key2": "updated_value2", "key4": "updated_value4"}
your_dict.update(updates)

Po zastosowaniu tych aktualizacji słownik your_dict będzie wyglądał następująco:

{"key1": "updated_value1", "key2": "updated_value2", "key3": "value3", "key4": "updated_value4"}

Operacje te są niezbędnymi narzędziami podczas pracy, ponieważ pozwalają zachować aktualność i dokładność struktur danych.

Usuwanie elementów słownika

W tej sekcji przyjrzymy się dwóm popularnym sposobom usuwania elementów słownika w Pythonie: słowu kluczowemu del i metodzie clear() .

  1. Usuń słowo kluczowe

Słowo kluczowe del służy do usuwania określonej pary klucz-wartość ze słownika. Działa w miejscu i zgłasza KeyError, jeśli klucz nie istnieje w słowniku. Aby usunąć element, po prostu użyj następującej składni:

del my_dict[key]

Na przykład, jeśli chcesz usunąć klucz o nazwie „ marka ” ze słownika o nazwie my_dict, napiszesz:

del my_dict["brand"]

Należy pamiętać, że dobrą praktyką jest upewnienie się, że klucz istnieje w słowniku przed użyciem słowa kluczowego del. Możesz to zrobić, sprawdzając, czy klucz znajduje się w słowniku:

if "brand" in my_dict:
    del my_dict["brand"]
  1. Wyczyść metodę

The clear() method is another way to delete dictionary elements. This method removes all dictionary keys and values in one operation, resulting in an empty dictionary.

To use the clear() method on your dictionary, simply call it. For example, if you have an existing dictionary named my_dict and you want to remove all its contents, you would write:

my_dict.clear()

In conclusion, you have learned two methods to delete elements from a Python dictionary: the del keyword for removing individual key-value pairs and the clear() method for emptying an entire dictionary.

What Are Some Common Dictionary Methods?

In this section, we will explore some common Python dictionary methods. These built-in methods will help you manipulate and modify dictionaries to suit your needs.

Keys

To retrieve all the keys from your dictionary, you can use the keys() method. This will return a view object containing all the dictionary’s keys.

For example:

your_dict = {'a': 1, 'b': 2, 'c': 3}
key_view = your_dict.keys()
print(key_view)
# Output: dict_keys(['a', 'b', 'c'])

Values

Similarly, the values() method allows you to obtain all the values stored in the dictionary. This is also presented as a view object.

For instance:

value_view = your_dict.values()
print(value_view)
# Output: dict_values([1, 2, 3])

Items

If you need to access both keys and values simultaneously, use the items() method. This returns a view object containing key-value pairs in the form of tuples.

Let’s look at an example:

item_view = your_dict.items()
print(item_view)
# Output: dict_items([('a', 1), ('b', 2), ('c', 3)])

Update

The update() method allows you to modify your dictionary by adding or updating key-value elements. To use the method, you have to provide a dictionary as an argument.

To merge two dictionaries or update specific keys, use this method:

your_dict.update({'d': 4, 'e': 5})
print(your_dict)
# Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

Pop

Za pomocą metody pop() możesz usunąć określony element ze słownika. Aby z niej skorzystać, podaj klucz do usunięcia jako argument w metodzie.

Metoda zwróci wartość skojarzoną z podanym kluczem i usunie ją ze słownika:

removed_value = your_dict.pop('a')
print(removed_value)
# Output: 1
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4, 'e': 5}

Popitem

Metoda popitem() usuwa ostatnią parę klucz-wartość ze słownika. Zwraca krotkę zawierającą usunięty klucz i wartość. Na przykład:

removed_item = your_dict.popitem()
print(removed_item)
# Output: ('e', 5)
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4}

Korzystając z tych metod, możesz skutecznie zarządzać słownikami i manipulować nimi, aby wykonywać różnorodne zadania.

Korzystanie ze słowników Pythona

W tej sekcji nauczysz się różnych technik pracy ze słownikami, takich jak przeglądanie ich w pętli, używanie rozumienia słownika i praca ze słownikami zagnieżdżonymi.

Zapętlanie słowników

Aby zapętlić słownik, możesz użyć wbudowanej metody items() do iteracji par klucz-wartość. Pozwala to na wykonywanie operacji zarówno na kluczach, jak i wartościach w czytelny i wydajny sposób.

Oto przykład:


my_dict = {"apple": 1, "banana": 2, "cherry": 3}

for key, value in my_dict.items():
    print(key, value)

Alternatywnie możesz użyć metod keys() i values() do iteracji wyłącznie po kluczach słownika lub wartościach.

Czym są wyrażenia słownikowe?

Zrozumienia słownikowe to zwięzły sposób tworzenia słowników przy użyciu jednego wiersza kodu. Są podobne do rozumienia list, ale zamiast tego działają ze słownikami.

Oto przykład słownikowego rozumienia, które podnosi liczby od 1 do 5 do kwadratu:


squared_numbers = {num: num**2 for num in range(1, 6)}

Zrozumienia słownikowe mogą być bardzo cenne w zadaniach takich jak filtrowanie słowników lub przekształcanie ich wartości.

Czym są słowniki zagnieżdżone?

Słowniki zagnieżdżone to słowniki zawierające inne słowniki jako wartości. Mogą być używane do reprezentowania złożonych hierarchicznych struktur danych.

Oto przykład zagnieżdżonego słownika:


nested_dict = {
    "person1": {"name": "Alice", "age": 30},
    "person2": {"name": "Bob", "age": 24}
}

Aby uzyskać dostęp do elementu w zagnieżdżonym słowniku, użyj indeksowania wielokrotnego:


name_p1 = nested_dict["person1"]["name"]

W razie potrzeby możesz dalej edytować lub manipulować elementami w zagnieżdżonych słownikach. Pamiętaj, aby śledzić klucze i poziomy zagnieżdżenia podczas pracy ze złożonymi zagnieżdżonymi słownikami, aby uniknąć nieporozumień lub błędów.

Typowe przypadki użycia słownika

Słowniki Pythona są wszechstronne i umożliwiają organizowanie i zarządzanie różnymi typami danych. W tej części zapoznasz się z niektórymi typowymi przypadkami użycia słowników, które zwiększą Twoje zrozumienie i pomogą skutecznie wdrożyć je w projektach.

1. Przechowywanie danych klucz-wartość : słowniki są idealne do przechowywania danych z unikalnymi kluczami i powiązanymi wartościami, takimi jak nazwy użytkowników i informacje o użytkowniku lub identyfikatory produktów i szczegóły produktów:

{
  "username1": {"name": "Alice", "email": "[email protected]"},
  "username2": {"name": "Bob", "email": "[email protected]"}
}

Przykład tego można zobaczyć w tym filmie na temat tworzenia agregatora wiadomości Google w usłudze LuckyTemplates przy użyciu języka Python.

https://youtu.be/InsDb_DR15E

W tym filmie używamy słownika do przechowywania wartości danych uzyskanych z wywołania API GoogleNews.

2. Zliczanie wystąpień : słowników można używać do liczenia wystąpień elementów, takich jak częstotliwość występowania słów w dokumencie. Używając kluczy do reprezentowania unikatowych elementów i wartości do wskazywania liczby, możesz skutecznie zarządzać takimi danymi.

Ciekawostką jest to, że możesz to zrobić za pomocą klasy Counter w module Python Collections. Przyjmuje nieuporządkowaną listę i zwraca słownik z każdym unikalnym elementem jako kluczem i ich częstotliwością jako odpowiednią wartością.

3. Odwzorowywanie kluczy na wiele wartości : jeśli chcesz przechowywać wiele wartości dla każdego klucza słownika, możesz użyć list lub zestawów jako wartości w słowniku:

{
  "fruits": ["apple", "banana", "mango"],
  "vegetables": ["carrot", "broccoli", "spinach"]
}

4. Buforowanie obliczonych wyników : Słowniki mogą być używane do buforowania wyników kosztownych operacji. Jest to szczególnie przydatne w technikach zapamiętywania i programowaniu dynamicznym, gdzie przechowuje się wyniki obliczeń, aby uniknąć zbędnych obliczeń.

5. Tworzenie odwróconych indeksów : W przypadkach takich jak wyszukiwarki możesz potrzebować odwróconego indeksu, który odwzorowuje każdy wyszukiwany termin na listę zasobów zawierających ten termin. Korzystanie ze słowników pozwala efektywnie przechowywać te dane:

{
  "python": ["resource1", "resource3"],
  "dictionary": ["resource2", "resource3", "resource4"]
}

To tylko kilka przykładów ilustrujących moc i wszechstronność słowników Pythona. Dzięki zrozumieniu tych przypadków użycia i ich zastosowań możesz wykorzystać pełny potencjał słowników do tworzenia wydajnych rozwiązań dla swoich zadań programistycznych!


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć