Przejdź do tematu:
Słowniki w Pythonie
Przejdź do ćwiczenia:
Programowanie w Pythonie
Włącz widok pełnoekranowy

Korzystasz z platformy z limitem dziennym na liczbę odpowiedzi. Aby zwiększyć limit lub uzyskać dostęp do konta z licencją, zaloguj się.

Zaloguj się
Udostępnij Pokaż notatkę do tematu
Słowniki w Pythonie

Słownik (dictionary, dict) pozwala przechowywać dane w postaci par: klucz – wartość. Każdemu kluczowi przypisana jest konkretna wartość. Dzięki temu możemy w prosty sposób zapisać np. informację o liczbie owoców w magazynie.

Tworzenie słownika

Słownik tworzymy przy użyciu nawiasów klamrowych.

fruits = {"apple": 5,

          "banana": 10,

          "orange": 2}



empty_dictionary = {}    # pusty słownik

Dostęp do elementów

Aby odczytać wartość przypisaną do danego klucza, używamy nawiasów kwadratowych. W ten sam sposób możemy dodać nowy element do słownika.

print(fruits["apple"])

fruits["pear"] = 3

Jeśli spróbujemy odwołać się do klucza, którego nie ma w słowniku, Python zgłosi błąd. Aby tego uniknąć, warto skorzystać z get:

print(fruits["plum"])    # => KeyError: 'plum'

print(fruits.get("plum", 0))   # jeśli elementu nie ma w słowniku,

                               # zwróci podaną wartość (0)

Przydatne operacje na słownikach

Python udostępnia kilka funkcji, które ułatwiają pracę ze słownikami:

len(fruits)        # liczba kluczy w słowniku

fruits.keys()      # wszystkie klucze, czyli 'pear', 'orange', 'banana', 'apple'

fruits.values()    # wszystkie wartości, czyli 10, 2, 3, 5

"apple" in fruits  # sprawdzenie, czy klucz istnieje w słowniku

Fatal error: Uncaught TypeError: App\Service\PsService::getUserItemStatusByPs(): Argument #1 ($user) must be of type int, null given, called in /var/www/umiemyprogramowac.pl/webroot/src/Snippet/Exercise/ItemBasedExercise/ItemBasedExercisePlugin.php on line 66 and defined in /var/www/umiemyprogramowac.pl/webroot/src/Service/PsService.php:69 Stack trace: #0 /var/www/umiemyprogramowac.pl/webroot/src/Snippet/Exercise/ItemBasedExercise/ItemBasedExercisePlugin.php(66): App\Service\PsService->getUserItemStatusByPs() #1 [internal function]: App\Snippet\Exercise\ItemBasedExercise\ItemBasedExercisePlugin->progress() #2 /var/www/umiemyprogramowac.pl/webroot/src/Helper/ExerciseHeaderBuilder.php(20): call_user_func() #3 /var/www/umiemyprogramowac.pl/webroot/src/Template/BaseExercise/default.php(26): App\Helper\ExerciseHeaderBuilder->render() #4 /var/www/umiemyprogramowac.pl/webroot/src/Controller/BaseExercise.php(119): require('...') #5 /var/www/umiemyprogramowac.pl/webroot/exercise/ipython.php(21): App\Controller\BaseExercise->renderDefault() #6 /var/www/umiemyprogramowac.pl/webroot/index.php(116): include('...') #7 {main} thrown in /var/www/umiemyprogramowac.pl/webroot/src/Service/PsService.php on line 69