Python for AI/Python শুরু/Lesson 10
Dictionaries
Key দিয়ে মান খোঁজা — dict তৈরি, পড়া, বদলানো, loop আর .get()। JSON, API response আর config — সবই dictionary।
- সময়
- 22 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 3 প্রশ্ন
সহজ ভাষায়
Dictionary (dict) হলো key → value জোড়ার সংগ্রহ। ঠিক একটা আসল অভিধানের মতো: শব্দ (key) দিয়ে খুঁজলে অর্থ (value) পাও।
List-এ খুঁজতে হয় position (index) দিয়ে, dictionary-তে খোঁজা হয় নাম (key) দিয়ে।
কেন দরকার?
AI engineering-এ dictionary সবখানে:
- JSON — প্রায় সব API (OpenAI, Anthropic, যেকোনো web API) data পাঠায় JSON-এ, যা Python-এ dictionary হয়ে যায়
- Model config —
{"learning_rate": 0.001, "epochs": 10} - Word count, vocabulary — NLP-তে শব্দ → সংখ্যা mapping
- Pandas DataFrame বানানোর সবচেয়ে সহজ উপায় dictionary থেকে
পড়া, যোগ করা, বদলানো
নিরাপদে পড়া: .get()
.get(key, default) — key না থাকলে error-এর বদলে default দেয়। Real-world data-তে প্রায়ই কিছু field থাকে না, তাই এটা খুব কাজের।
Dictionary-তে loop
Nested data: dictionary-র list
Real data সাধারণত এমন দেখায় — প্রতিটা record একটা dictionary:
এটাই একটা ছোট dataset! প্রতিটা dictionary একটা row, প্রতিটা key একটা column। Pandas শিখলে এই data এক লাইনে table হয়ে যাবে।
Exercise
Exercise
শব্দ গোনা
sentence-এ প্রতিটা শব্দ কতবার এসেছে সেটা counts dictionary-তে রাখো। যেমন "ai is fun and ai is future" থেকে counts["ai"] হবে 2।
Quiz
Challenge
Challenge
Topper খুঁজে বের করো
students হলো dictionary-র একটা list। প্রতিটায় name আর marks আছে।
top_student(students) function লেখো যেটা সবচেয়ে বেশি marks পাওয়া student-এর নাম return করে। খালি list দিলে None return করবে।
বাস্তবে কোথায় ব্যবহার হয়?
তুমি word-count exercise-এ যা বানালে, সেটাই Bag of Words — classic NLP-র ভিত্তি, যেখানে text-কে শব্দের count-এ রূপান্তর করে ML model-এ দেওয়া হয়।
আর একটা LLM API-র response দেখতে সাধারণত এরকম (সরলীকৃত):
Nested dictionary থেকে data বের করতে পারা AI Engineer-এর প্রতিদিনের কাজ।
Interview প্রশ্ন
- Beginner: List আর dictionary-র মধ্যে কখন কোনটা ব্যবহার করবে?
- Intermediate: Dictionary-তে key খোঁজা এত দ্রুত (গড়ে O(1)) কেন? (Hash table।)
- Advanced: Python 3.7+ এ dictionary কি insertion order মনে রাখে? এর ওপর নির্ভর করা কি ঠিক?
এরপর কী?
অভিনন্দন! 🎉 তুমি Python শুরু module শেষ করেছো — variables, types, operators, strings, conditions, lists, loops, functions, dictionaries। এগুলো দিয়েই সব Python program বানানো হয়।
পরের module-এ আমরা Data Structures আরও গভীরে যাব — tuples, sets, list comprehension — যেগুলো তোমার code-কে আরও ছোট, পরিষ্কার আর Pythonic করবে।