পাইথন ডিকশনারিতে কী খুঁজে বের করার একাধিক উপায় রয়েছে।
১. এক্সাক্ট কী मालूम থাকলে (O(1))
a = {'foo': 45, 'bar': 22}
# [] অপারেটর - কী নেইলে KeyError
print(a['foo']) # 45
# .get() মেথড - কী নেইলে None (এরর নেই)
print(a.get('foo')) # 45
print(a.get('missing')) # None
print(a.get('missing', 'default')) # 'default'
২. সাবস্ট্রিং/প্যাটার্ন ম্যাচিং (O(n))
a = {'foo': 45, 'bar': 22}
for key in a.keys():
if 'oo' in key: # সাবস্ট্রিং চেক
print(a[key])
আউটপুট
45
৩. লিস্ট কম্প্রিহেনশন দিয়ে ফিল্টার
matches = {k: v for k, v in a.items() if 'oo' in k}
print(matches) # {'foo': 45}
৪. রেগুলার এক্সপ্রেশন (Regex)
import re
pattern = re.compile(r'f.*')
matches = {k: v for k, v in a.items() if pattern.match(k)}
পারফরম্যান্স: এক্সাক্ট কী লুকআপ O(1), প্যাটার্ন ম্যাচিং O(n)। বড় ডিকশনারি রেগুলার এক্সপ্রেশন দিয়ে সার্চ করলে ধীর হবে।