Python Dictionary (Dict): Update, Cmp, Len, Sort, Copy, Items, str উদাহরণ

পাইথনে একটি অভিধান কি?

প্রতি পাইথনে অভিধান কী-মান জোড়া জোড়া ধারণ করে এমন ডেটা মানগুলির অনিয়ন্ত্রিত এবং পরিবর্তনযোগ্য সংগ্রহ। অভিধানে প্রতিটি কী-ভ্যালু পেয়ার তার সংশ্লিষ্ট ভ্যালুর চাবিকে ম্যাপ করে এটিকে আরও অপ্টিমাইজ করে। পাইথনে একটি অভিধান কোঁকড়া ধনুর্বন্ধনী ({}) ব্যবহার করে কী-মান জোড়াগুলির একটি কমা-বিচ্ছিন্ন তালিকা সংযুক্ত করে ঘোষণা করা হয়। পাইথন ডিকশনারিকে দুটি উপাদানে শ্রেণিবদ্ধ করা হয়েছে: কী এবং মান।

  • কী একটি একক উপাদান হবে
  • একটি তালিকা, সংখ্যা ইত্যাদির মধ্যে মান একটি তালিকা বা তালিকা হতে পারে।

এই পাইথন টিউটোরিয়ালে, আপনি শিখবেন:

পাইথন অভিধানের জন্য সিনট্যাক্স

Dict = { ' Tim': 18, xyz,.. }

অভিধানটি কোঁকড়া বন্ধনীতে তালিকাভুক্ত করা হয়েছে, এই কোঁকড়া বন্ধনীগুলির ভিতরে, কী এবং মানগুলি ঘোষণা করা হয়েছে। প্রতিটি কী একটি কোলন (:) দ্বারা তার মান থেকে আলাদা করা হয়, যখন কমা প্রতিটি উপাদানকে আলাদা করে।

অভিধান কীগুলির বৈশিষ্ট্য

ডিকশনারি কী ব্যবহার করার সময় দুটি গুরুত্বপূর্ণ বিষয় রয়েছে

  • প্রতি চাবিতে একাধিক প্রবেশের অনুমতি নেই (কোন সদৃশ কী অনুমোদিত নয়)
  • অভিধানে মানগুলি যে কোনও ধরণের হতে পারে, যখন কীগুলি সংখ্যা, টুপল বা স্ট্রিংগুলির মতো অপরিবর্তনীয় হতে হবে।
  • অভিধান কীগুলি সংবেদনশীল- একই কী নাম কিন্তু বিভিন্ন ক্ষেত্রে পাইথন অভিধানে বিভিন্ন কী হিসাবে বিবেচনা করা হয়।

পাইথন 2 উদাহরণ

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])

পাইথন 3 উদাহরণ

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
  • কোডে, আমাদের অভিধানের নাম 'ডিক্ট' আছে
  • আমরা অভিধানে ব্যক্তির নাম এবং বয়স ঘোষণা করেছি, যেখানে নাম 'কী' এবং বয়স হল 'মূল্য'
  • এবার কোডটি রান করুন
  • এটি অভিধান থেকে টিফানির বয়স উদ্ধার করে।

পাইথন অভিধান পদ্ধতি

অভিধান অনুলিপি করা হচ্ছে

আপনি সম্পূর্ণ অভিধানটি একটি নতুন অভিধানে অনুলিপি করতে পারেন। উদাহরণস্বরূপ, এখানে আমরা আমাদের মূল অভিধানটি নতুন অভিধানের নাম 'ছেলে' এবং 'মেয়েরা' অনুলিপি করেছি।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY) 
  • আমাদের কাছে আসল অভিধান (ডিক্ট) আছে যার নাম এবং বয়স একসাথে ছেলে মেয়েদের
  • কিন্তু আমরা চাই মেয়েদের তালিকা থেকে ছেলেদের তালিকা আলাদা হোক, তাই আমরা ছেলেদের এবং মেয়েদের উপাদানকে একটি আলাদা ডিকশনারি নাম 'ছেলে' এবং 'মেয়েরা' দ্বারা সংজ্ঞায়িত করেছি।
  • এখন আবার আমরা নতুন অভিধানের নাম তৈরি করেছি 'ছাত্র X' এবং 'ছাত্র Y', যেখানে ছেলেদের অভিধানের সকল কী এবং মান ছাত্র X- এ অনুলিপি করা হবে, এবং মেয়েরা ছাত্র Y তে অনুলিপি করা হবে
  • তাই এখন আপনাকে কে একটি ছেলে এবং কে মেয়ে তা পরীক্ষা করার জন্য মূল অভিধানে (ডিক্ট) পুরো তালিকাটি দেখতে হবে না, যদি আপনি ছেলেদের তালিকা চান তবে আপনাকে ছাত্র X মুদ্রণ করতে হবে এবং যদি আপনি মেয়েদের তালিকা চান তাহলে ছাত্র
  • সুতরাং, যখন আপনি ছাত্র X এবং studentY অভিধান চালাবেন, তখন এটি 'ছেলে' এবং 'মেয়েদের' অভিধানে উপস্থিত সমস্ত উপাদান আলাদাভাবে দেবে

অভিধান আপডেট করা হচ্ছে

আপনি একটি বিদ্যমান এন্ট্রিতে একটি নতুন এন্ট্রি বা একটি কী-ভ্যালু পেয়ার যোগ করে অথবা একটি বিদ্যমান এন্ট্রি মুছে দিয়ে একটি অভিধান আপডেট করতে পারেন। এখানে উদাহরণস্বরূপ, আমরা আমাদের বিদ্যমান অভিধানে আরেকটি নাম, 'সারাহ' যুক্ত করব।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({'Sarah':9}) print Dict 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({'Sarah':9}) print(Dict) 
  • আমাদের বিদ্যমান অভিধান 'ডিক্ট' এর নাম 'সারাহ' নেই।
  • আমরা আমাদের বিদ্যমান অভিধানে সারাহ যোগ করার জন্য Dict.update পদ্ধতি ব্যবহার করি
  • এখন কোডটি চালান, এটি আমাদের বিদ্যমান অভিধানে সারাহ যোগ করে

অভিধান থেকে কী মুছুন

পাইথন ডিকশনারি আপনাকে অভিধানের তালিকা থেকে যেকোনো উপাদান মুছে ফেলার স্বাধীনতা দেয়। ধরুন আপনি তালিকায় চার্লি নামটি চান না, তাই আপনি নিম্নলিখিত কোড দ্বারা মূল উপাদানটি সরাতে পারেন।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict) 

যখন আপনি এই কোডটি চালান, এটি চার্লি ছাড়া অভিধানের তালিকা মুদ্রণ করা উচিত।

  • আমরা ডেল ডিক্ট কোড ব্যবহার করেছি
  • যখন কোড কার্যকর করা হয়, এটি মূল অভিধান থেকে চার্লি মুছে ফেলেছে

অভিধান আইটেম () পদ্ধতি

আইটেম () পদ্ধতি অভিধানে টুপল জোড়া (কী, মান) এর একটি তালিকা প্রদান করে।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'Students Name: %s' % Dict.items() 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('Students Name: %s' % list(Dict.items())) 
  • আমরা আমাদের ডিক্টের জন্য কোড আইটেম () পদ্ধতি ব্যবহার করি।
  • যখন কোডটি কার্যকর করা হয়, এটি অভিধান থেকে আইটেমের একটি তালিকা (কী এবং মান) প্রদান করে

একটি প্রদত্ত কী ইতিমধ্যে একটি অভিধানে বিদ্যমান কিনা তা পরীক্ষা করুন

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

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Dict.keys(): if key in Boys.keys(): print True else: print False 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Dict.keys()): if key in list(Boys.keys()): print(True) else: print(False) 
  • কোডের ফোরলুপ ছেলেদের কীগুলির জন্য মূল অভিধানে প্রতিটি কী পরীক্ষা করে
  • যদি এটি প্রধান অভিধানে বিদ্যমান থাকে তবে এটি সত্য মুদ্রণ করা উচিত নয়ত এটি মিথ্যা মুদ্রণ করা উচিত
  • যখন আপনি কোডটি এক্সিকিউট করবেন, তখন এটি তিনবার 'ট্রু' প্রিন্ট করবে, কারণ আমরা আমাদের 'বয়েজ' ডিকশনারিতে তিনটি উপাদান পেয়েছি
  • সুতরাং এটি নির্দেশ করে যে 'ছেলেরা' আমাদের প্রধান অভিধানে বিদ্যমান (ডিক্ট)

অভিধান সাজানো

অভিধানে, আপনি উপাদানগুলি বাছাই করতে পারেন। উদাহরণস্বরূপ, যদি আমরা আমাদের অভিধানের উপাদানগুলির নাম বর্ণানুক্রমিকভাবে মুদ্রণ করতে চাই, তাহলে আমাদেরকে একটি লুপ ব্যবহার করতে হবে। এটি অনুসারে অভিধানের প্রতিটি উপাদানকে বাছাই করবে।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print':'.join((S,str(Dict[S]))) 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(':'.join((S,str(Dict[S])))) 
  • আমরা আমাদের অভিধানে 'ডিক্ট' এর জন্য পরিবর্তনশীল ছাত্রদের ঘোষণা করেছি।
  • তারপর আমরা Student.sort কোড ব্যবহার করি, যা আমাদের ডিকশনারির ভিতরে উপাদানটিকে সাজাবে
  • কিন্তু অভিধানে প্রতিটি উপাদান সাজানোর জন্য, আমরা ভেরিয়েবল S ঘোষণা করে একটি লুপের জন্য চালাই
  • এখন, যখন আমরা কোডটি চালাই, তখন লুপের জন্য অভিধান থেকে প্রতিটি উপাদানকে কল করা হবে, এবং এটি একটি ক্রমে স্ট্রিং এবং মান মুদ্রণ করবে

পাইথন অভিধান অন্তর্নির্মিত ফাংশন

অভিধান লেন () পদ্ধতি

Len () ফাংশন অভিধানে জোড়া সংখ্যা দেয়।

উদাহরণ স্বরূপ,

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'Length : %d' % len (Dict) 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('Length : %d' % len (Dict)) 

যখন লেন (ডিক্ট) ফাংশনটি কার্যকর করা হয় তখন এটি '4' এ আউটপুট দেয় কারণ আমাদের অভিধানে চারটি উপাদান রয়েছে

পরিবর্তনশীল প্রকার

পাইথনের জন্য রিজার্ভ মেমরি স্পেস স্পষ্টভাবে ঘোষণা করার প্রয়োজন নেই; এটি স্বয়ংক্রিয়ভাবে ঘটে। ভেরিয়েবল '=' সমান চিহ্ন ব্যবহার করা হয়। ভেরিয়েবল টাইপ নির্ধারণের কোড হল ' %টাইপ (ডিক্ট)।'

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'variable Type: %s' %type (Dict) 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('variable Type: %s' %type (Dict)) 
  • ভেরিয়েবল টাইপ জানতে %টাইপ কোড ব্যবহার করুন
  • যখন কোডটি কার্যকর করা হয়েছিল, এটি একটি পরিবর্তনশীল টাইপকে একটি অভিধান বলে

পাইথন তালিকা cmp () পদ্ধতি

তুলনা পদ্ধতি cmp () পাইথনে দুটি অভিধানের মান এবং কীগুলির তুলনা করতে ব্যবহৃত হয়। যদি উভয় অভিধান সমান হয় তাহলে পদ্ধতি 0 রিটার্ন করে, 1 যদি dic1> dict2 এবং -1 যদি dict1 হয় পাইথন 2 উদাহরণ

 Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys) 

পাইথন 3 উদাহরণ

cmp is not supported in Python 3
  • আমাদের দুটি অভিধানের নাম আছে, 'ছেলে' এবং 'মেয়ে'।
  • কোড 'cmp (Girls, Boys)' এ আপনি যেটা প্রথম ঘোষণা করবেন তা অভিধান হিসেবে বিবেচিত হবে।
  • যখন কোডটি কার্যকর করা হয়, এটি প্রিন্ট করে -1, এটি নির্দেশ করে যে আমাদের অভিধান 1 অভিধান 2 এর চেয়ে কম।

অভিধান Str (dict)

Str () পদ্ধতির সাহায্যে আপনি একটি অভিধান মুদ্রণযোগ্য স্ট্রিং ফরম্যাটে তৈরি করতে পারেন।

পাইথন 2 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'printable string:%s' % str (Dict) 

পাইথন 3 উদাহরণ

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('printable string:%s' % str (Dict)) 
  • কোড ব্যবহার করুন % str (ডিক্ট)
  • এটি অভিধানের উপাদানগুলিকে মুদ্রণযোগ্য স্ট্রিং ফরম্যাটে ফিরিয়ে দেবে

এখানে সকল অভিধান পদ্ধতির তালিকা

পদ্ধতি বর্ণনা বাক্য গঠন
কপি ()পুরো ডিকশনারিকে নতুন ডিকশনারিতে কপি করুনdict.copy ()
হালনাগাদ()বিদ্যমান এন্ট্রিতে একটি নতুন এন্ট্রি বা কী-ভ্যালু পেয়ার যোগ করে অথবা একটি বিদ্যমান এন্ট্রি মুছে দিয়ে একটি অভিধান আপডেট করুন।ডিক্ট আপডেট ([অন্যান্য])
আইটেম ()অভিধানে টুপল জোড়া (কী, মান) এর একটি তালিকা প্রদান করে।dictionary.items ()
সাজান()আপনি উপাদানগুলি সাজাতে পারেনdictionary.sort ()
লেন ()অভিধানে জোড়া সংখ্যা দেয়।লেন (ডিক)
সিএমপি ()দুটি অভিধানের মান এবং কীগুলির তুলনা করুনcmp (dict1, dict2)
Str ()একটি মুদ্রণযোগ্য স্ট্রিং বিন্যাসে একটি অভিধান তৈরি করুনStr (dict)

ডিকশনারি মার্জ করা

এখানে বোঝা যাবে কিভাবে দুটি প্রদত্ত অভিধানকে একক অভিধানে একীভূত করা যায়।

নীচে দেখানো হিসাবে আমার দুটি অভিধান আছে:

অভিধান 1: my_dict1 | _+_ |

অভিধান 2: my_dict2 | _+_ |

আসুন এই দুটি অভিধান my_dict1 এবং my_dict2 একত্রিত করি এবং namemy_dict দিয়ে একটি একক অভিধান তৈরি করি।

আপডেট () পদ্ধতি ব্যবহার করে দুটি অভিধান মার্জ করুন

আপডেট () পদ্ধতি আমাদের একটি অভিধানকে আরেকটি অভিধানের সাথে একীভূত করতে সাহায্য করবে। উদাহরণস্বরূপ, আমরা my_dict1 কে my_dict2 দিয়ে আপডেট করব। আপডেট () পদ্ধতি ব্যবহার করার পর my_dict1- এ my_dict2- এর বিষয়বস্তু থাকবে যেমন নিচে দেখানো হয়েছে: | _+_ |

আউটপুট: | _+_ |

** পদ্ধতি ব্যবহার করে অভিধান মার্জ করা (পাইথন 3.5 থেকে)

** কে পাইথনে Kwargs বলা হয়, এবং এটি পাইথন সংস্করণ 3.5+ এর সাথে কাজ করবে। ** ব্যবহার করে, আমরা দুটি অভিধান মার্জ করতে পারি, এবং এটি মার্জ করা অভিধান ফিরিয়ে দেবে। ভেরিয়েবলের সামনে ** ব্যবহার করলে ভেরিয়েবলটি তার সমস্ত বিষয়বস্তুর সাথে প্রতিস্থাপিত হবে।

এখানে দুটি ডিরেক্টরি মার্জ করার জন্য ** ব্যবহার করার একটি কার্যকরী উদাহরণ। | _+_ |

আউটপুট: | _+_ |

অভিধান সদস্যপদ পরীক্ষা

আপনি একটি অভিধানের ভিতরে বর্তমানের একটি কী আছে কিনা তা পরীক্ষা করতে পারেন। এই পরীক্ষাটি শুধুমাত্র একটি অভিধানের চাবিতেই করা যেতে পারে, মান নয়। সদস্যপদ পরীক্ষাটি ব্যবহার করে করা হয় ভিতরে কীওয়ার্ড যখন আপনি অভিধানে কী ব্যবহার করে চেক করুন ভিতরে কীওয়ার্ড, কীটি উপস্থিত থাকলে অভিব্যক্তি সত্য এবং যদি না থাকে তবে মিথ্যা প্রদান করে।

এখানে একটি উদাহরণ যা একটি অভিধানে সদস্য জাহাজ পরীক্ষা দেখায়। | _+_ |

আউটপুট: | _+_ |

সারসংক্ষেপ:

  • একটি প্রোগ্রামিং ল্যাঙ্গুয়েজির ডিকশনারি হল এক ধরনের ডেটা-স্ট্রাকচার যা কোনোভাবে সংযুক্ত তথ্য সংরক্ষণের জন্য ব্যবহৃত হয়।
  • পাইথন ডিকশনারিকে দুটি উপাদান কী এবং ভ্যালুতে সংজ্ঞায়িত করা হয়েছে।
  • ডিকশনারিগুলি তাদের তথ্য কোন নির্দিষ্ট ক্রমে সংরক্ষণ করে না, তাই আপনি যে তথ্যটি প্রবেশ করেছেন সেই একই ক্রমে আপনি আপনার তথ্য ফিরে পেতে পারেন না।
  • কী একটি একক উপাদান হবে
  • একটি তালিকা, সংখ্যা ইত্যাদির মধ্যে মান একটি তালিকা বা তালিকা হতে পারে।
  • প্রতি চাবিতে একাধিক প্রবেশের অনুমতি নেই (কোন সদৃশ কী অনুমোদিত নয়)
  • অভিধানে মানগুলি যে কোনও ধরণের হতে পারে, যখন কীগুলি সংখ্যা, টুপল বা স্ট্রিংগুলির মতো অপরিবর্তনীয় হতে হবে।
  • অভিধান কীগুলি সংবেদনশীল- একই কী নাম কিন্তু বিভিন্ন ক্ষেত্রে পাইথন অভিধানে বিভিন্ন কী হিসাবে বিবেচনা করা হয়।