Słowniki w Pythonie
Programowanie w Pythonie
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ę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łownikDostę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"] = 3Jeś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łownikuFatal 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