សំណុំ Dictionary

សំណុំ dictionary ជា​វត្ថុ​ដែល​មាន​ប្រភេទ​ជា container ដែល​នៅ​ក្នុង​នោះ​អាច​មាន​វត្ថុ​ជាប់​គ្នា​មួយ​គូ​ជា​ច្រើន​គូ​។ ដើម្បី​បង្កើត​សំណុំ dictionary យើង​ត្រូវ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

print(resume)
{'name': 'កុសល', 'last name': 'កែវ', 'gender': 'male', 'age': 35}

វត្ថុ​ដែល​នៅ​ជាប់​គ្នា​មួយ​គូ​ដោយ​សារ​សញ្ញា : នៅ​ក្នុង​សំណុំ dictionary ត្រូវ​ហៅ​ថា item ដែល​នៅ​ក្នុង​នោះ វត្ថុ​នៅ​ខាង​ឆ្វេង​ត្រូវ​ហៅ​ថា key ចំណែក​ឯ​វត្ថុ​នៅ​ខាង​ស្តាំ ត្រូវ​ហៅ​ថា value ។ ដូចគ្នា​នឹង​សំណុំ set ដែរ item នៅ​ក្នុង​សំណុំ dictionary គ្មាន​លេខ​រៀង​ច្បាស់លាស់​ទេ គឺ​វា​អាច​ត្រូវ​ផ្លាស់​ប្តូរ​ទីតាំង​បាន​គ្រប់​ពេល​វេលា​។ ម៉្យាងទៀត key នៅ​ក្នុង item ត្រូវ​តែ​ជា​វត្ថុ immutable តែ​ចំពោះ​ value ​វិញ អាច​ជា​វត្ថុ​ប្រភេទ​ណា​ក៏​បាន​ដែរ​។ ជាទូទៅ key មាន​នាទី​ជា​ផ្លាក​សំរាប់​សំគាល់ value និមួយ​ៗ​នៅ​ក្នុង​សំណុំ dictionary ហើយ​គឺ​ដោយសារ key នេះ​ហើយ​ ដែល value អាច​ត្រូវ​យក​ប្រើការផ្សេង​ៗ​ទៀត​បាន​។

យើង​អាច​សំណុំ dictionary ផ្សេង​ៗ​មក​ធ្វើ​ប្រមាណវិធី indexing operation ដូច​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

print(resume['name'])
print(resume['last name'])
កុសល
កែវ

សំណុំ dictionary គឺ​ជា​វត្ថុ mutable បាន​ន័យ​ថា value នៅ​ក្នុង​សំណុំ dictionary អាច​ត្រូវ​ជំនួស​ដោយ​វត្ថុ​ផ្សេង​ៗ​ទៀត​បាន​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

resume['name'] = 'លឹម'
print(resume)
{'name': 'លឹម', 'last name': 'កែវ', 'gender': 'male', 'age': 35}

លក្ខណៈ​ពិសេស​មួយ​ទៀត​របស់​សំណុំ dictionary គឺ​យើង​អាច​ធ្វើ​ប្រមាណវិធី indexing operation ដើម្បី​បន្ថែម item ថ្មី​ចូល​ទៅ​សំណុំ dictionary បាន ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

resume['address'] = 'Cambodia'
print(resume)
{'name': 'កុសល', 'last name': 'កែវ', 'gender': 'male', 'age': 35, 'address': 'Cambodia'}

យើង​អាច​យក​សំណុំ dictionary ផ្សេង​ៗ​មក​ធ្វើ​ប្រមាណវិធី logical operation ដូចខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}
empty_dictionary = {}

print(resume and empty_dictionary)
print(resume or empty_dictionary)
print(not resume)
print(not empty_dictionary)
{}
{'name': 'កុសល', 'last name': 'កែវ', 'gender': 'male', 'age': 35}
False
True

យើង​អាច​យក​សំណុំ dictionary ផ្សេង​ៗ​មក​ធ្វើ​ប្រមាណវិធី​ប្រៀបធៀប​ដូច​ខាង​ក្រោម​នេះ​៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}
CV = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

print(resume == CV)
print(resume != CV)
True
False

សំណុំ dictionary ពីរ​ដូច​គ្នា គឺ​ជា​សំណុំ dictionary ពីរ​ដែល​មាន item ដូច​គ្នា​ទាំងអស់​។ ម៉្យាងទៀត នៅ​ក្នុង​ការ​ធ្វើ​ប្រមាណវិធី​ប្រៀបធៀប​រវាង​សំណុំ dictionary ផ្សេង​ៗ យើង​មិន​អាច​ប្រើ operator ណា​ក្រៅ​ពី == និង != ឡើយ​។

យើង​អាច​យក​សំណុំ dictionary ផ្សេង​ៗ​មក​ធ្វើ​ប្រមាណវិធី identification operation ដូច​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}
CV = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}

print(resume is CV)
print(resume is not CV)
False
True

យើង​អាច​យក​សំណុំ dictionary ផ្សេង​ៗ​មក​ធ្វើ​ប្រមាណវិធី membership operation ដូច​ខាង​ក្រោម​នេះ៖

resume = {'name':'កុសល', 'last name':'កែវ', 'gender':'male', 'age':35}
ln = 'last name'

print(ln in resume)
print(ln not in resume)
True
False