🐍
পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ
  • পাইথন প্রোগ্রামিং ল্যাংগুয়েজ
  • সূচি
  • ব্রিফ হিস্টোরি অফ পাইথন
  • অধ্যায়ঃ১ পাইথন বেসিক
    • ভ্যারিয়েবল
    • কন্সট্যান্টস
    • আইডেন্টিফাইয়ারস
    • নেমিং কনভেনশন
    • ইন্ডেনটেশন
    • কমেন্টস
    • ডক স্ট্রিংস
    • রিজার্ভড কি-ওয়ার্ডস
    • অপারেটরস
      • এরিথমেটিক অপারেটরস
      • রিলেশনাল অপারেটরস
      • লজিক্যাল অপারেটরস
      • বিট-ওয়াইজ অপারেটরস
      • অ্যাসাইনমেন্ট অপারেটরস
      • আইডেন্টিটি অপারেটরস
      • মেম্বারশিপ অপারেটরস
    • ইনপুট-আউটপুট
  • অধ্যায়ঃ ২ ডেটা টাইপ্স
    • জেনারেল টাইপ্স
      • ইন্টিগ্রাল
        • ইন্টিজার
        • বুলিয়ান
      • ফ্লোটিং
        • ফ্লোটিং পয়েন্ট
        • কমপ্লেক্স
        • ডেসিমাল
      • স্ট্রিংস
    • কালেকশন ডেটা টাইপ্স
      • সিকোয়েন্স টাইপ
        • লিস্ট
        • ট্যুপল
      • সেট টাইপ
        • সেট
        • ফ্রোজেন সেট
      • ম্যাপিং
        • ডিকশনারি
        • কাউন্টার
  • অধ্যায় ৩ঃ কন্ট্রোল স্ট্রাকচারস
    • কন্ডিশনাল স্টেটমেন্ট
    • লুপ
      • ফর লুপ
      • হোয়াইল লুপ
      • রেঞ্জ range()
      • enumerate()
      • zip()
  • অধ্যায় ৪ঃ পাইথন কম্প্রিহেনশন্স
    • লিস্ট কম্প্রিহেনশন্স
    • ডিকশনারি কম্প্রিহেনশন্স
    • সেট কম্প্রিহেনশন্স
  • অধ্যায় ৫ঃ ফাংশনাল প্রোগ্রামিং
    • পাইথন ফাংশন্স
    • আর্গুমেন্টস অব ফাংশন্স
      • ডিফল্ট আর্গুমেন্টস
      • রিকোয়ার্ড আর্গুমেন্টস
      • কি-ওয়ার্ড আর্গুমেন্টস
      • ভ্যারিবেল লেনথ আর্গুমেন্টস
    • রিকার্শন ইন পাইথন
Powered by GitBook
On this page

Was this helpful?

  1. অধ্যায় ৪ঃ পাইথন কম্প্রিহেনশন্স

ডিকশনারি কম্প্রিহেনশন্স

লিস্ট কম্প্রিহেনশনের মত একইভাবে ডিকশনারি কম্প্রিহেনশন ও ব্যবহার করা যায়। এটি পাইথন ৩ তে নতুন সংযোজন করা হয় এবং পরে পাইথন২ তে ও সংযোজন করা হয়। এর গঠনও লিস্ট কম্প্রিহেনশনের মতই । লিস্টের ক্ষেত্রে আমরা এক্সপ্রেশনের জায়গায় শুধুমাত্র ভ্যালু নিয়ে কাজ করেছি এখন আমাদের কি-ভ্যালু নিয়ে কাজ করতে হবে।

>>> dictionary = {'1':'a','2':'b','3':'c'}
>>> dictionary.keys()
dict_keys(['1', '2', '3'])
>>> dictionary.values()
dict_values(['a', 'b', 'c'])
>>> dictionary.items()
dict_items([('1', 'a'), ('2', 'b'), ('3', 'c')])  

>>> sqaure_of_values = { key : value*2 for (key, value) in dictionary.items()}
>>> sqaure_of_values
{'1': 'aa', '2': 'bb', '3': 'cc'}

‘কী’র মান পরিবর্তন করা এবং লিস্ট কম্প্রিহেনশনের মত if স্টেট্মেন্ট ব্যবহার করার চেষ্টা কর। এখন আমরা দুটো লিস্ট থেকে কম্প্রিহেনশনের মাধ্যমে ডিকশনারি তৈরি করা দেখবঃ

>>> a = [1,2,3,4,5]
>>> b = ['a','b','c','d','e']
>>> dictionary = {key : value for key,value in zip(a,b)}
>>> dictionary
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

এখানে a লিস্টের এলিমেন্টকে key এবং b লিস্টের এলিমেন্ট কে ভ্যলু হিসেবে নেয়া হয়েছে। এবং কি-ভ্যালুকে zip() ফাংশনে পাঠানো হয়েছে। zip() ফাংশন প্রতিবার একটি ইটারেবল অবজেক্ট রিটার্ন করে যা ডিকশনারি তে কনভার্ট হচ্ছে। যদিও এখানে এটি আমাদের আলোচনার বিষইয় না তারপর ও জেনে রাখা ভাল যে, zip() ফাংশন সবসময় নুন্যতম সংখ্যক এলিমেন্ট নিয়ে কাজ করে। অর্থ্যাৎ,যেকোন লিস্টের মধ্যে সবচেয়ে কমসংখ্যক এলিমেন্ট যে লিস্টে থাকবে zip() শুধু ততবার ই ইটারেশন চালাবে।

>>>numberList = [1, 2, 3]
>>> strList = [‘one’, ‘two’, ‘three’,’four’]
>>> dict(zip(numberList,strList))
{1: ‘one’, 2: ‘two’, 3: ‘three’}
>>> strList = [‘one’, ‘two’]
>>> dict(zip(numberList,strList))
{1: ‘one’, 2: ‘two’}

zip() ফাংশনে দুইয়ের অধিক ইটারেবল অবজেক্ট ও পাঠানো যায় এবং unzip ও করা যায়।

Previousলিস্ট কম্প্রিহেনশন্সNextসেট কম্প্রিহেনশন্স

Last updated 4 years ago

Was this helpful?