ডিকশনারি ভ্যালুগুলোর কোনো রেস্ট্রিকশন নেই। সেগুলো যেকোনো আربیট্রারি পাইথন অবজেক্ট হতে পারে, স্ট্যান্ডার্ড অবজেক্ট বা ইউজার-ডিফাইনড। কিন্তু কীগুলোর ক্ষেত্রে একই কথা বলা যায় না।
ডিকশনারি কী সম্পর্কে মনে রাখার দুটি গুরুত্বপূর্ণ পয়েন্ট:
- প্রতি কী-এ একাধিক এন্ট্রি অনুমোদিত নয়। অর্থাৎ ডুপ্লিকেট কী অনুমোদিত নয়। অ্যাসাইনমেন্টের সময় ডুপ্লিকেট কী এনকাউন্টার হলে শেষ অ্যাসাইনমেন্ট জয়ী হয়।
উদাহরণ
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']
আউটপুট
dict['Name']: Manni
- কীগুলো অবশ্যই ইমিউটেবল হতে হবে। অর্থাৎ স্ট্রিং, নম্বর বা টাপল ডিকশনারি কী হিসেবে ব্যবহার করা যায় কিন্তু ['key'] কী হিসেবে ব্যবহার করা যায় না।
উদাহরণ
#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']
আউটপুট
Traceback (most recent call last): File "test.py", line 3, indict = {['Name']: 'Zara', 'Age': 7} TypeError: unhashable type: 'list'