• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dictionary w Dictionary czyli czy w Dictionary mogę przechowywać obiekty?

0 głosów
226 wizyt
pytanie zadane 17 września 2020 w Python przez TeaCup Obywatel (1,370 p.)

Witam,

Mam kod:

calculator_objects = {
    "add": {
        "method": add,
        "symbol": "+",
        "gui_action": "add",
        "description": "- ads two numbers.",
        "color": "yellow"
    }
}

actions_colored = []
for action in calculator_objects.keys():
    actions_colored.append(colored(action["gui_action"], action.get("color"), attrs=['bold']))

Używam w tym projekcie biblioteki termcolor ale to nie jest ważne.

Po wykonaniu tego kodu dostaje error:

AttributeError: 'str' object has no attribute 'get'

Moje pytanie to: Czy mogę przechowywać w dictionary inny dictionary tak jak w kodzie powyżej?

Jeśli tak to jak pobierać z niego wartości, tak żeby mój kod zadziałał?

Jak bym tak pisał w JS to by to działało ale nie wiem jak to jest w Pythonie stąd pytam.

Dzięki za pomoc.

Pozdrawiam.

1 odpowiedź

+1 głos
odpowiedź 18 września 2020 przez adrian17 Mentor (355,180 p.)
wybrane 18 września 2020 przez TeaCup
 
Najlepsza

Czy mogę przechowywać w dictionary inny dictionary tak jak w kodzie powyżej?

Jak najbardziej.

for action in calculator_objects.keys():

Ten keys() Ci psuje, nie wiem czemu akurat to użyłeś. Skoro się iterujesz po kluczu, to `action` to "add". Tak więc te rzeczy

action["gui_action"], action.get("color")

W tym kontekście nie mają sensu.

Jeśli chcesz się przeiterować po wartościach słownika, to użyj values() zamiast keys().

komentarz 18 września 2020 przez TeaCup Obywatel (1,370 p.)
Dzięki. Teraz działa :-).

Podobne pytania

0 głosów
0 odpowiedzi 126 wizyt
0 głosów
3 odpowiedzi 1,151 wizyt

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,323 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...