Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में OrderedDict

OrderedDict पायथन में dict ऑब्जेक्ट का एक सबक्लास है। OrderedDict और dict के बीच एकमात्र अंतर यह है कि OrderedDict में, यह कुंजियों के क्रम को वैसा ही बनाए रखता है जैसा डाला गया था। dict में, क्रम हो भी सकता है और नहीं भी।

OrderedDict एक स्टैंडर्ड लाइब्रेरी क्लास है, जो collections मॉड्यूल में स्थित है।

इसका उपयोग करने के लिए सबसे पहले हमें collections स्टैंडर्ड लाइब्रेरी मॉड्यूल को आयात करने की आवश्यकता है।

import collections

इस खंड में हम OrderedDict पर कुछ ऑपरेशन्स और OrderedDict और Dict के बीच अंतर देखेंगे।

हम Dict और OrderedDict में कुछ कुंजियां और मान डाल सकते हैं। इस उदाहरण में हम देख सकते हैं कि Dict का क्रम भिन्न हो सकता है। लेकिन OrderedDict के लिए, यह निश्चित रहेगा।

उदाहरण कोड

import collections

# सामान्य 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()

# ऑर्डर्ड 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 के लिए कुंजियों का क्रम नहीं बदलेगा। हम देख सकते हैं कि Dict टाइप ऑब्जेक्ट्स के लिए यह कथन सत्य हो भी सकता है और नहीं भी।

उदाहरण कोड

import collections

# सामान्य 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)

# कुंजी BB के लिए मान बदलें
my_dict['BB'] = 100
print('After changing in Dict')
for item in my_dict.items():
    print(item)
print()

# ऑर्डर्ड 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)

# कुंजी 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 में एलिमेंट्स को डिलीट करना और पुनः डालना

जब OrderedDict से एक एलिमेंट डिलीट किया जाता है और उस कुंजी और मान पर पुनः डालने का ऑपरेशन किया जाता है, तो यह उसे अंत में धकेल देगा। हालांकि यह डालते समय क्रम बनाए रख रहा था, लेकिन डिलीशन के लिए, यह क्रम की जानकारी को हटा देता है, और पुनः डालने के लिए नई एंट्री के रूप में व्यवहार करता है।

उदाहरण कोड

import collections

# ऑर्डर्ड 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)

# कुंजी BB में आइटम डिलीट करें
my_ord_dict.pop('BB')
print('After Deleting')
for item in my_ord_dict.items():
    print(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)
  1. पायथन प्रोग्राम: साइकिल सॉर्ट पायथन प्रोग्राम: साइकिल सॉर्ट

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक सरणी दी गई है, हमें साइकिल सॉर्ट की अवधारणा का उपयोग करके इसे क्रमबद्ध करना है। यह एक इन-प्लेस एल्गोरिदम है और स्वैपिंग चक्रों के निर्माण द्वारा होती है। उदाहरण def cycleSort(array): writes = 0 # घुमाए जाने वाले चक्

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. - पायथन डिक्शनरी को मान के अनुसार कैसे सॉर्ट करें?

    पायथन के मानक वितरण में collections मॉड्यूल होता है। इसमें उच्च प्रदर्शन कंटेनर डेटा प्रकारों की परिभाषाएं होती हैं। OrderedDict डिक्शनरी का एक सबक्लास है जो डिक्शनरी ऑब्जेक्ट में जोड़े गए एंट्रीज़ के क्रम को याद रखता है। जब ऑर्डर्ड डिक्शनरी पर पुनरावृति की जाती है, तो आइटम्स उस क्रम में लौटाए जाते