DEV Community

Cover image for পাইথন ডেটা স্ট্রাকচার: লিস্ট, টাপল এবং ডিকশনারি
Shafi Rayhan
Shafi Rayhan

Posted on • Edited on

পাইথন ডেটা স্ট্রাকচার: লিস্ট, টাপল এবং ডিকশনারি

ভূমিকা

পাইথন শেখার জার্নিতে আরেকটা মজার ধাপে এসে পড়েছি! আজ আমরা ডেটা স্ট্রাকচার নিয়ে কথা বলব। এগুলো হলো তথ্য জমা করার বিশেষ পদ্ধতি। এই পোস্টে আপনি শিখবেন:

  • লিস্ট (Lists): তথ্য যোগ, মুছে ফেলা, খুঁজে বের করা এবং স্লাইসিং।
  • টাপল (Tuples): যেগুলো বদলানো যায় না এবং কীভাবে ব্যবহার হয়।
  • ডিকশনারি (Dictionaries): কী-ভ্যালু জোড়া এবং নেস্টেড ডিকশনারি।
  • একটা ফোনবুক প্রজেক্ট।

ডেটা স্ট্রাকচার শিখলে আপনার প্রোগ্রাম আরও দক্ষ হবে। চলুন শুরু করি!


লিস্ট (Lists)

লিস্ট হলো একটা তালিকা, যেখানে অনেকগুলো তথ্য একসাথে রাখা যায়। এটা অনেকটা শপিং লিস্টের মতো।

লিস্ট তৈরি এবং ব্যবহার

লিস্ট [] দিয়ে তৈরি হয়:

fruits = ["আপেল", "কলা", "আম"]
print(fruits)  # আউটপুট: ['আপেল', 'কলা', 'আম']
Enter fullscreen mode Exit fullscreen mode

তথ্য যোগ করা

  • append(): শেষে যোগ করে।
fruits.append("কমলা")
print(fruits)  # আউটপুট: ['আপেল', 'কলা', 'আম', 'কমলা']
Enter fullscreen mode Exit fullscreen mode

তথ্য মুছে ফেলা

  • remove(): নির্দিষ্ট আইটেম মোছে।
fruits.remove("কলা")
print(fruits)  # আউটপুট: ['আপেল', 'আম', 'কমলা']
Enter fullscreen mode Exit fullscreen mode

তথ্য খুঁজে বের করা

লিস্টে ইনডেক্স (শুরু হয় ০ থেকে) দিয়ে তথ্য পাওয়া যায়:

print(fruits[0])  # আউটপুট: আপেল
Enter fullscreen mode Exit fullscreen mode

স্লাইসিং

লিস্টের একটা অংশ কাটতে স্লাইসিং ব্যবহার হয়:

print(fruits[1:3])  # আউটপুট: ['আম', 'কমলা']
Enter fullscreen mode Exit fullscreen mode

কেন ব্যবহার? লিস্টে তথ্য বদলানো যায়, তাই এটা খুব নমনীয়।


টাপল (Tuples)

টাপলও লিস্টের মতো, তবে এটার তথ্য বদলানো যায় না। এটা () দিয়ে তৈরি হয়।

টাপল তৈরি

colors = ("লাল", "নীল", "সবুজ")
print(colors)  # আউটপুট: ('লাল', 'নীল', 'সবুজ')
Enter fullscreen mode Exit fullscreen mode

তথ্য পড়া

ইনডেক্স দিয়ে পড়া যায়:

print(colors[1])  # আউটপুট: নীল
Enter fullscreen mode Exit fullscreen mode

বদলানো যায় না

চেষ্টা করলে এরর হবে:

colors[0] = "হলুদ"  # এরর: TypeError
Enter fullscreen mode Exit fullscreen mode

কেন ব্যবহার? যেখানে তথ্য বদলাতে হবে না (যেমন দিনের নাম), সেখানে টাপল দ্রুত এবং নিরাপদ।


ডিকশনারি (Dictionaries)

ডিকশনারি হলো কী-ভ্যালু জোড়ার সংগ্রহ। এটা {} দিয়ে তৈরি হয়।

ডিকশনারি তৈরি

student = {
    "name": "রাহিম",
    "age": 20,
    "grade": "A"
}
print(student)  # আউটপুট: {'name': 'রাহিম', 'age': 20, 'grade': 'A'}
Enter fullscreen mode Exit fullscreen mode

তথ্য পড়া

কী দিয়ে ভ্যালু পাওয়া যায়:

print(student["name"])  # আউটপুট: রাহিম
Enter fullscreen mode Exit fullscreen mode

তথ্য যোগ বা বদল

student["age"] = 21  # বদল
student["class"] = "10"  # নতুন যোগ
print(student)  # আউটপুট: {'name': 'রাহিম', 'age': 21, 'grade': 'A', 'class': '10'}
Enter fullscreen mode Exit fullscreen mode

তথ্য মোছা

del student["grade"]
print(student)  # আউটপুট: {'name': 'রাহিম', 'age': 21, 'class': '10'}
Enter fullscreen mode Exit fullscreen mode

নেস্টেড ডিকশনারি

ডিকশনারির ভেতর আরেকটা ডিকশনারি থাকতে পারে:

contacts = {
    "রাহিম": {"phone": "12345", "email": "rahim@example.com"},
    "রিয়া": {"phone": "67890", "email": "ria@example.com"}
}
print(contacts["রাহিম"]["phone"])  # আউটপুট: 12345
Enter fullscreen mode Exit fullscreen mode

কেন ব্যবহার? নাম-মান জোড়া দিয়ে তথ্য সাজাতে ডিকশনারি দারুণ।


প্রজেক্ট: ফোনবুক প্রোগ্রাম

চলুন একটা ফোনবুক বানাই, যেখানে কন্টাক্ট যোগ, খুঁজে বের করা এবং মোছা যাবে।

ধাপগুলো:

  1. নতুন ফাইল বানান, নাম দিন phonebook.py
  2. এই কোড লিখুন:
   # ফোনবুক হিসেবে একটা ডিকশনারি
   phonebook = {}

   while True:
       print("\nফোনবুক মেনু:")
       print("1. কন্টাক্ট যোগ করুন")
       print("2. কন্টাক্ট খুঁজুন")
       print("3. কন্টাক্ট মুছুন")
       print("4. বেরিয়ে যান")
       choice = input("আপনার পছন্দ (1-4): ")

       if choice == "1":
           name = input("নাম লিখুন: ")
           number = input("ফোন নম্বর লিখুন: ")
           phonebook[name] = number
           print(name, "যোগ করা হয়েছে।")

       elif choice == "2":
           name = input("খুঁজতে নাম লিখুন: ")
           if name in phonebook:
               print(name, "এর নম্বর:", phonebook[name])
           else:
               print("কন্টাক্ট পাওয়া যায়নি।")

       elif choice == "3":
           name = input("মুছতে নাম লিখুন: ")
           if name in phonebook:
               del phonebook[name]
               print(name, "মুছে ফেলা হয়েছে।")
           else:
               print("কন্টাক্ট পাওয়া যায়নি।")

       elif choice == "4":
           print("বাই বাই!")
           break

       else:
           print("ভুল পছন্দ, আবার চেষ্টা করুন।")
Enter fullscreen mode Exit fullscreen mode
  1. টার্মিনালে চালান:
   python phonebook.py
Enter fullscreen mode Exit fullscreen mode
  1. আউটপুট দেখুন:
   ফোনবুক মেনু:
   1. কন্টাক্ট যোগ করুন
   2. কন্টাক্ট খুঁজুন
   3. কন্টাক্ট মুছুন
   4. বেরিয়ে যান
   আপনার পছন্দ (1-4): 1
   নাম লিখুন: রাহিম
   ফোন নম্বর লিখুন: 12345
   রাহিম যোগ করা হয়েছে।
Enter fullscreen mode Exit fullscreen mode

কোড ব্যাখ্যা:

  • phonebook = {}: একটা খালি ডিকশনারি।
  • while True: মেনু চলতে থাকে যতক্ষণ না বের হন।
  • if-elif: পছন্দ অনুযায়ী কাজ করে—যোগ, খোঁজা, মোছা।
  • in: চেক করে নাম ডিকশনারিতে আছে কি না।

এই প্রজেক্টে ডিকশনারির শক্তি বোঝা যায়।


হোমওয়ার্ক: টু-ডু লিস্ট ম্যানেজার

আপনার কাজ হলো একটা টু-ডু লিস্ট প্রোগ্রাম বানানো, যেখানে ক্যাটাগরি দিয়ে কাজ সাজানো যাবে।

ধাপগুলো:

  1. ফাইল বানান, নাম দিন todo_list.py
  2. এই কোড লিখুন:
   # টু-ডু লিস্ট হিসেবে ডিকশনারি
   todo_list = {
       "কাজ": [],
       "পড়াশোনা": [],
       "শপিং": []
   }

   while True:
       print("\nটু-ডু লিস্ট মেনু:")
       print("1. কাজ যোগ করুন")
       print("2. লিস্ট দেখুন")
       print("3. বেরিয়ে যান")
       choice = input("আপনার পছন্দ (1-3): ")

       if choice == "1":
           category = input("ক্যাটাগরি লিখুন (কাজ/পড়াশোনা/শপিং): ")
           task = input("কাজ লিখুন: ")
           if category in todo_list:
               todo_list[category].append(task)
               print("কাজ যোগ হয়েছে।")
           else:
               print("ভুল ক্যাটাগরি।")

       elif choice == "2":
           for category, tasks in todo_list.items():
               print(category + ":")
               for task in tasks:
                   print("- " + task)

       elif choice == "3":
           print("বাই বাই!")
           break

       else:
           print("ভুল পছন্দ, আবার চেষ্টা করুন।")
Enter fullscreen mode Exit fullscreen mode
  1. চালান:
   python todo_list.py
Enter fullscreen mode Exit fullscreen mode
  1. উদাহরণ:
   টু-ডু লিস্ট মেনু:
   1. কাজ যোগ করুন
   2. লিস্ট দেখুন
   3. বেরিয়ে যান
   আপনার পছন্দ (1-3): 1
   ক্যাটাগরি লিখুন (কাজ/পড়াশোনা/শপিং): পড়াশোনা
   কাজ লিখুন: পাইথন পড়া
   কাজ যোগ হয়েছে।
Enter fullscreen mode Exit fullscreen mode

কোড ব্যাখ্যা:

  • todo_list: ক্যাটাগরি দিয়ে ডিকশনারি, প্রতিটা ক্যাটাগরিতে লিস্ট।
  • append(): ক্যাটাগরিতে কাজ যোগ করে।
  • for category, tasks in todo_list.items(): সব ক্যাটাগরি ও কাজ প্রিন্ট করে।

উপসংহার

আজ আমরা শিখলাম:

  • লিস্টে তথ্য যোগ, মোছা, এবং স্লাইসিং।
  • টাপলের অপরিবর্তনীয় বৈশিষ্ট্য।
  • ডিকশনারির কী-ভ্যালু জোড়া।
  • একটা ফোনবুক বানানো।

ডেটা স্ট্রাকচার আপনার তথ্য সাজানোর ক্ষমতা বাড়িয়ে দেয়। প্রজেক্ট আর হোমওয়ার্ক চেষ্টা করুন। কমেন্টে বলুন কেমন লাগলো বা কোথায় সমস্যা হয়েছে।

প্রশ্ন:

  1. লিস্ট, টাপল আর ডিকশনারির মধ্যে কোনটা বেশি পছন্দ হয়েছে?
  2. ফোনবুক প্রোগ্রামে কি কিছু যোগ করতে চান?
  3. ডেটা স্ট্রাকচার শিখে কি আপনার কোডিং সহজ লাগছে?

Top comments (1)

Collapse
 
abdur_rahman_2025 profile image
Abdur Rahman

Where do you use tuple in real life applications

👋 Kindness is contagious

Please show some love ❤️ or share a kind word in the comments if you found this useful!

Got it!