কম্পিউটার

Python এ OrderedDict


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

OrderedDict হল একটি স্ট্যান্ডার্ড লাইব্রেরি ক্লাস, যা সংগ্রহে অবস্থিত মডিউল।

প্রথমে এটি ব্যবহার করার জন্য আমাদের এটিকে সংগ্রহ আমদানি করতে হবে স্ট্যান্ডার্ড লাইব্রেরি মডিউল।

import collections

এই বিভাগে আমরা OrderedDict এবং OrderedDict এবং Dict এর মধ্যে পার্থক্য সম্পর্কে কিছু অপারেশন দেখতে পাব।

আমরা Dict এবং OrderedDict-এ কিছু কী এবং মান রাখতে পারি। এই উদাহরণে আমরা দেখতে পাচ্ছি যে ডিক্টের ক্রম পরিবর্তিত হতে পারে। কিন্তু OrderedDict জন্য. এটা ঠিক করা হবে।

উদাহরণ কোড

import collections
#Create normal dict
my_dict = {}
my_dict['AA'] = 11
my_dict['BB'] = 22
my_dict['CC'] = 33
my_dict['DD'] = 44
for item in my_dict.items():
   print(item)
print()
#Create ordered dict
my_ord_dict = collections.OrderedDict()
my_ord_dict['AA'] = 11
my_ord_dict['BB'] = 22
my_ord_dict['CC'] = 33
my_ord_dict['DD'] = 44
for item in my_ord_dict.items():
   print(item)

আউটপুট

('AA', 11)
('CC', 33)
('BB', 22)
('DD', 44)

('AA', 11)
('BB', 22)
('CC', 33)
('DD', 44)

একটি নির্দিষ্ট কী এর মান পরিবর্তন করা

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

উদাহরণ কোড

import collections
#Create normal dict
my_dict = {}
my_dict['AA'] = 11
my_dict['BB'] = 22
my_dict['CC'] = 33
my_dict['DD'] = 44
for item in my_dict.items():
   print(item)
#Change the value for key BB
my_dict['BB'] = 100
print('After changing in Dict')
for item in my_dict.items():
   print(item)
print()
#Create ordered dict
my_ord_dict = collections.OrderedDict()
my_ord_dict['AA'] = 11
my_ord_dict['BB'] = 22
my_ord_dict['CC'] = 33
my_ord_dict['DD'] = 44
for item in my_ord_dict.items():
   print(item)
#Change the value for key BB
my_ord_dict['BB'] = 100
print('After changing in Ordered Dict')
for item in my_ord_dict.items():
   print(item)

আউটপুট

('AA', 11)
('BB', 22)
('CC', 33)
('DD', 44)
After changing in Dict
('AA', 11)
('CC', 33)
('DD', 44)
('BB', 100)

('AA', 11)
('BB', 22)
('CC', 33)
('DD', 44)
After changing in Ordered Dict
('AA', 11)
('BB', 100)
('CC', 33)
('DD', 44)

OrdedDict-এ উপাদানগুলি মুছে ফেলা এবং পুনরায় সন্নিবেশ করা হচ্ছে

যখন একটি উপাদান OrderedDict থেকে মুছে ফেলা হয় এবং সেই কী এবং মানের উপর পুনরায় সন্নিবেশ করার ক্রিয়াকলাপ সম্পাদন করে, এটি এটিকে পিছনে ঠেলে দেবে। যদিও এটি সন্নিবেশ করার সময় ক্রম বজায় রেখেছিল, কিন্তু মুছে ফেলার জন্য, এটি অর্ডারিং তথ্য সরিয়ে দেয় এবং পুনরায় সন্নিবেশ করার জন্য নতুন এন্ট্রি হিসাবে বিবেচনা করে৷

উদাহরণ কোড

import collections
#Create ordered dict
my_ord_dict = collections.OrderedDict()
my_ord_dict['AA'] = 11
my_ord_dict['BB'] = 22
my_ord_dict['CC'] = 33
my_ord_dict['DD'] = 44
for item in my_ord_dict.items():
   print(item)
#Delete item in key BB
my_ord_dict.pop('BB')
print('After Deleting')
for item in my_ord_dict.items():
   print(item)
#re-inserting item 
my_ord_dict['BB'] = 22
print('After Re-inserting')
for item in my_ord_dict.items():
   print(item)    
এ আইটেমের জন্য =22মুদ্রণ('পুনরায় সন্নিবেশ করার পর')

আউটপুট

('AA', 11)
('BB', 22)
('CC', 33)
('DD', 44)
After Deleting
('AA', 11)
('CC', 33)
('DD', 44)
After Re-inserting
('AA', 11)
('CC', 33)
('DD', 44)
('BB', 22)

  1. সাইকেল সাজানোর জন্য পাইথন প্রোগ্রাম

  2. issuperset() পাইথনে

  3. কিভাবে মান দ্বারা পাইথনে একটি অভিধান বাছাই?

  4. কী দ্বারা পাইথনে একটি অভিধান কীভাবে সাজানো যায়?