Product SiteDocumentation Site

7.6. ഡിക്ഷണറികള്‍

key: value ദ്വയങ്ങളുടെ ക്രമമല്ലാത്ത കൂട്ടത്തെയാണ് ഡിക്ഷ്ണറികള്‍ എന്ന് പറയുന്നത് ,ഇതില്‍ key കള്‍ സമാനതകളില്ലാത്തവയായിരിക്കും.{} ബ്രാക്കററുകള്‍ക്കുളളിലാണ് നമ്മള്‍ ഡിക്ഷ്ണറികളെ നിര്‍മ്മിച്ചെടുക്കുന്നത്.ഏതെങ്കിലും ഒരു key യില്‍ വിവരങ്ങള്‍ സൂക്ഷിക്കുവാനും അതിനെ സംബന്ധിച്ച വിവരങ്ങള്‍ എടുക്കുന്നതിനുമാണ് നമ്മള്‍ ഡിക്ഷ്ണറികള്‍ ഉപയോഗിക്കുന്നത്

>>> data = {'kushal':'Fedora', 'kart_':'Debian', 'Jace':'Mac'}
>>> data
{'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian'}
>>> data['kart_']
'Debian'

നമുക്ക് കൂടുതല്‍ വിവരങ്ങള്‍ വളരെ ലളിതമായി ഇതില്‍ കൂട്ടിച്ചേര്‍ക്കാന്‍ കഴിയും.

>>> data['parthan'] = 'Ubuntu'
>>> data
{'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'}

ഏതെങ്കിലും പ്രത്യേക key:value ദ്വയങ്ങളെ ഇല്ലാതാക്കുവാന്‍

>>> del data['kushal']
>>> data
{'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'

ഏതെങ്കിലും key ഡിക്ഷ്ണറിയ്ക്കകത്ത് ഉണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കുന്നതിനായി has_key() എന്ന ഫങ്ഷനോ അല്ലെങ്കില്‍ കീവേഡോ ഉപയോഗിക്കാവുന്നതാണ്.

>>> data.has_key('Soumya')
False
>>> 'Soumya' in data
False

ഓര്‍മ്മിക്കുക മാററം വരുത്താന്‍ കഴിയാത്ത ഒബ്ജക്ററാണ് key,വിശദമായിപ്പറഞ്ഞാല്‍ list നെ ഒരിക്കലും key ആയി ഉപയോഗിക്കരുത്.
key,value ദ്വയങ്ങളുടെ ടുപ്പിളുകളില്‍ നിന്ന് dict() ഫങ്ഷന്‍ ഉപയോഗിച്ച് ഡിക്ഷ്ണറികള്‍ ഉണ്ടാക്കാം

>>> dict((('Indian','Delhi'),('Bangladesh','Dhaka')))
{'Indian': 'Delhi', 'Bangladesh': 'Dhaka'}

ഡിക്ഷ്ണറികളില്‍ ലൂപ്പിംഗ് നടത്തുവാന്‍ iteritems() ഫങ്ഷന്‍ ഉപയോഗിക്കാം

>>> data
{'Kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'}
>>> for x, y in data.iteritems():
...     print "%s uses %s" % (x, y)
...
Kushal uses Fedora
Jace uses Mac
kart_ uses Debian
parthan uses Ubuntu

ലിസ്ററില്‍ (അല്ലെങ്കില്‍ ഏതെങ്കിലും സീക്വന്‍സില്‍ ) ലൂപ്പിംഗ് നടത്തുവാനും അതേസമയം തന്നെ ഇറററേഷന്‍ സംഖ്യ കിട്ടുവാനും enumerate() ഫങ്ഷന്‍ ഉപയോഗിക്കുക.

>>> for i, j in enumerate(['a', 'b', 'c']):
...     print i, j
...
0 a
1 b
2 c

ഒരേ സമയം തന്നെ രണ്ട് സീക്വന്‍സുകളില്‍ ഇറററേഷന്‍ നടത്തുന്നതിനായി zip() ഉപയോഗിക്കുക.

>>> a = ['Pradeepto', 'Kushal']
>>> b = ['OpenSUSE', 'Fedora']
>>> for x, y in zip(a, b):
...     print "%s uses %s" % (x, y)
...
Pradeepto uses OpenSUSE
Kushal uses Fedora