Szótárak

A szótár (más nyelvekben asszociatív tömb) kulcs-érték párok halmaza. (Ugyanabban a szótárban is) kulcs lehet például szám és string. A kulcsnak –ahogyan a neve is utal rá– egyedinek kell lennie, az értéknek nem:

>>> dct= {'a': 2, 'b': 2, 'c': 2, 'd': 3, }
>>> dct
{'c': 2, 'd': 3, 'a': 2, 'b': 2}

A szótár rendezetlen: a kiírt párok sorrendje nem egyezik meg az értékadáskor látottal. Ez a sorrend a későbbiekben is változhatik, így például akkor is, ha az .update() metódussal új párokat adunk a listához:

>>> dct.update({'e': 3, 'f': 3, 'g': 4, 'h': 4, })
>>> dct
{'b': 2, 'a': 2, 'h': 4, 'c': 2, 'e': 3, 'g': 4, 'd': 3, 'f': 3}

Az in operátor a szótár kulcsait vizsgálja:

>>> 'h' in dct
True
>>> 4 in dct
False

A len() függvény használata értelemszerű:

>>> len(dct)
8

Iterációt a kulcsokon végezhetünk; itt sem számíthatunk a kulcsok (bármilyen értelemben is) várható sorrendjére:

>>> for key in dct:
...     print(key, end=' ')
... 
b a h c e g d f >>>

Természetesen a fenti eljárás alkalmazható az értékek bejárására is:

>>> for key in dct:
...     print(dct[key], end=' ')
... 
2 2 4 2 3 4 3 3 >>> 

Hosszabb szótárak esetén célszerű lehet ügyesebb módszert keresni a kulcs-érték párok megadására:

>>> keys='cdefgahc'
>>> vals='23334242'
>>> for i in range(len(keys)):
...     dct[keys[i]]= vals[i]
... 
>>> dct
{'b': 2, 'a': '2', 'h': '4', 'c': '2', 'e': '3', 'g': '4', 'd': '3', 'f': '3'}

A fenti példa alapján tehát a szótár mutabilis adatszerkezet.