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.