মূল content-এ যাও

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) পাও।

main.py

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 থেকে

পড়া, যোগ করা, বদলানো

main.py

নিরাপদে পড়া: .get()

main.py

.get(key, default) — key না থাকলে error-এর বদলে default দেয়। Real-world data-তে প্রায়ই কিছু field থাকে না, তাই এটা খুব কাজের।

main.py

Dictionary-তে loop

main.py

Nested data: dictionary-র list

Real data সাধারণত এমন দেখায় — প্রতিটা record একটা dictionary:

main.py

এটাই একটা ছোট dataset! প্রতিটা dictionary একটা row, প্রতিটা key একটা column। Pandas শিখলে এই data এক লাইনে table হয়ে যাবে।

Exercise

Exercise

শব্দ গোনা

+20 XP

sentence-এ প্রতিটা শব্দ কতবার এসেছে সেটা counts dictionary-তে রাখো। যেমন "ai is fun and ai is future" থেকে counts["ai"] হবে 2।

solution.py

Quiz

  1. Q1d = {"a": 1} হলে d["b"] চালালে কী হবে?
  2. Q2Dictionary-র key হিসেবে কোনটা ব্যবহার করা যাবে না?
  3. Q3for k, v in d.items(): — এখানে k আর v কী?
0/3 answered

Challenge

Challenge

Topper খুঁজে বের করো

+50 XP

students হলো dictionary-র একটা list। প্রতিটায় name আর marks আছে।

top_student(students) function লেখো যেটা সবচেয়ে বেশি marks পাওয়া student-এর নাম return করে। খালি list দিলে None return করবে।

solution.py

বাস্তবে কোথায় ব্যবহার হয়?

তুমি word-count exercise-এ যা বানালে, সেটাই Bag of Words — classic NLP-র ভিত্তি, যেখানে text-কে শব্দের count-এ রূপান্তর করে ML model-এ দেওয়া হয়।

আর একটা LLM API-র response দেখতে সাধারণত এরকম (সরলীকৃত):

main.py

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 করবে।