Neexistujúce hodnoty v slovníku

V Pythone sa často pracuje so slovníkmi, problém nastáva s načítavaním hodnôt pre nexistujúci klúč.

>>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> da = d['a']
>>> da
1  
>>> dx = d['x']
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>
KeyError: 'x'  

Ak chceme načítať neexistujúcu hodnotu slovníka, tak Python vyhodí výnimku o neexistujúcom kľuči. Prvé čo nás napadne je zistiť, či kľúč v slovníku existuje a až potom načítať jeho hodnotu.

>>>> dx = None
>>> if 'x' in d:
...     dx = d['x']

Toto riešenie je funčné, ale kontrolovať viac ako pár hodnôt sa roztiahne na niekoľko riadkov kódu pre každý klúč. Našťastie slovník v Pythone obsahuje funkciu get(key, default_value). Pomocou tejto funkcie môžeme v kóde ušetriť dva riadky a zápis bude prehľadnejší a elegantnejší.

>>> dx = d.get('x', None)
Show Comments