ऑर्डर्ड डिक्ट पायथन में तानाशाही वस्तु का एक उपवर्ग है। OrderedDict और dict के बीच एकमात्र अंतर यह है कि, OrderedDict में, यह सम्मिलित किए गए कुंजियों के क्रम को बनाए रखता है। निर्देश में, आदेश हो सकता है या नहीं भी हो सकता है।
The OrderedDict एक मानक पुस्तकालय वर्ग है, जो संग्रह . में स्थित है मॉड्यूल।
इसका उपयोग करने के लिए सबसे पहले हमें इसे संग्रह . आयात करना होगा मानक पुस्तकालय मॉड्यूल।
import collections
इस खंड में हम OrderedDict और OrderedDict और Dict के बीच अंतर पर कुछ संचालन देखेंगे।
हम Dict और 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)
निर्दिष्ट कुंजी का मान बदलना
जब किसी निर्दिष्ट कुंजी का मान बदल दिया जाता है, तो ऑर्डर्ड डिक्ट के लिए चाबियों का क्रम नहीं बदलेगा। हम देख सकते हैं कि डिक्ट प्रकार की वस्तुओं के लिए कथन सत्य हो भी सकता है और नहीं भी।
उदाहरण कोड
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)
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)
आउटपुट
('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)