
Please support if you like my work by payment through upi: sinhamit@icici or payment by bank
account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB
Dictionary Methods in Category: पाइथन by amit
🕙 Posted on 2023-08-23 at 00:08:04
डिक्शनरी विधियाँ
आप पिछले पृष्ठ में पहले ही देख चुके हैं कि किसी डिक्शनरी में किसी आइटम/
उदाहरण 1
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
print( my_dict[''] ) # आउटपुट abc है। − कुंजी नाम के माध्यम से आइटम तक पहुंचना।
print( my_dict['key'] ) # आउटपुट ['def', 'ghi'] है।
print( my_dict['one'] ) # आउटपुट KeyError: 'one' है।
print( my_dict[0] ) # आउटपुट KeyError: 0 है। (इस पंक्ति का परिणाम देखने के लिए उपरोक्त कथन पर टिप्पणी करें।)
print( my_dict['key'][1] ) # आउटपुट ghi है। (इस पंक्ति का परिणाम देखने के लिए उपरोक्त दो कथनों पर टिप्पणी करें।)
print( my_dict['key'][2] ) # आउटपुट IndexError: list index out of range है।
get(self, key, default=None, /)
जब कोई कुंजी किसी डिक्शनरी शाब्दिक में मौजूद नहीं होता है, तो उस डिक्शनरी से किसी आइटम/get()
डिक्शनरी विधि का उपयोग करना सुरक्षित है जो उस कुंजी (उदाहरण के लिए, उपरोक्त कोड में, 'one' या 0) के नहीं मिलने पर None वापस करता है। उपरोक्त उदाहरण में my_dict (चर नाम, एक डिक्शनरी शाब्दिक के साथ निर्दिष्ट) का तीसरा आइटम एक नेस्टेड सूची (list) है। इसलिए, (उपरोक्त उदाहरण की पंक्तियाँ 8 और 9 में) में वर्गाकार कोष्ठकों की पहली जोड़ी कुंजी नाम है, और (उन पंक्तियों में) में वर्गाकार कोष्ठकों की दूसरी जोड़ी सूचकांक (index) संख्या है।
उदाहरण 1 जारी...
print( my_dict.get('one', 'Not Found') ) # आउटपुट Not Found ('Not Found' एक स्ट्रिंग डेटा-प्रकार है। उपरोक्त उदाहरण में इस पंक्ति का परिणाम देखने के लिए, उन कथनों पर टिप्पणी करें, जो त्रुटियाँ दिखाते हैं।)
print( my_dict.get('key', False)[0] ) # आउटपुट def है, क्योंकि my_dict डिक्शनरी शाब्दिक से मूल आइटम को नेस्टेड सूची के रूप में लौटाया गया है। आप दूसरे तर्क के रूप में, अपनी पसंद के अनुसार False (बूलियन शाब्दिक) या 0 (शून्य, पूर्णांक शाब्दिक) भी उपयोग कर सकते हैं।
get()
विधि से लौटाया गया आइटम/()
कोष्ठक के बाद (जैसा कि ऊपर वर्णित है) [0] रखने पर त्रुटि दिखाएगा, क्योंकि ये गैर-अनुक्रम (non-sequence) डेटा-प्रकार हैं। इसी प्रकार, यदि लौटाया गया आइटम एक नेस्टेड डिक्शनरी है, तो आपको आगे की वस्तुओं को निकालने के लिए get()
विधि के बाद वर्गाकार कोष्ठकों की जोड़ी में कुंजी नाम प्रदान करना होगा।
आप एक चर नाम के लिए my_dict.get(None) अभिव्यक्ति (expression) भी निर्दिष्ट कर सकते हैं (यहां, None कुंजी नाम - पहला तर्क है,) और फिर लौटाए गए डेटा का उपयोग करें। दूसरा तर्क वैकल्पिक है और इसका डिफ़ॉल्ट मान None (कुंजी नाम से भिन्न) है। चूंकि संबंधित कुंजी None का मान 22 है, इसलिए my_dict.get(None) अभिव्यक्ति से लौटाया गया मान 22 है।
दूसरे तर्क का मान तभी लौटाया जाएगा जब पहला तर्क मूल डिक्शनरी में मौजूद न हो। आपको दूसरे तर्क से बचना (avoid) नहीं चाहिए, और इसे पहले तर्क से अलग करने (distinguish) के लिए कुछ वर्णनात्मक (descriptive) शाब्दिक (बूलियन/int/स्ट्रिंग) रखना चाहिए। कुछ मामलों में get()
विधि से दूसरे तर्क के रूप में, लौटाया गया (रिटर्निंग) False या 0 बहुत उपयोगी होता है।
update()
update()
विधि हमेशा तर्क के रूप में, एक डिक्शनरी डेटा-प्रकार शाब्दिक लेता है। आप व्यक्तिगत रूप से कुछ आइटम जोड़/update()
विधि के साथ, आप मूल डिक्शनरी शाब्दिक या चर नाम में आसानी से कई आइटम जोड़/
उदाहरण 2
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_dict[''] = 'xyz'
my_dict[None] = 3.14
print( my_dict ) # आउटपुट {'': 'xyz', None: 3.14, 'key': ['def', 'ghi']} है।
उदाहरण 3
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_dict.update({'': 'xyz', None: 3.14, 0: True})
print( my_dict ) # आउटपुट {'': 'xyz', None: 3.14, 'key': ['def', 'ghi'], 0: True} है।
pop(), popitem()
हेल्प डॉक्यूमेंटेशन में, D.pop(k[,d]) का मतलब है Dictionarypop()
विधि में दूसरा तर्क निर्दिष्ट नहीं है, तब कमांड लाइन कंसोल या VSCode एडिटर टर्मिनल में KeyError (कुंजीत्रुटि) दिखाया जाएगा।
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_item = my_dict.pop('key')
print( my_dict, type( my_dict ) )
print( my_item, type( my_item ) )
new_item = my_dict.pop('abc', 'Not Found')
print( my_dict, type( my_dict ) )
print( new_item, type( new_item ) )
['def', 'ghi'] <class 'list'>
{'': 'abc', None: 22} <class 'dict'>
Not Found <class 'str'>
popitem() विधि कोई तर्क नहीं लेता है, और अंतिम आइटम को हटा देता है और इसे (कुंजी, मान) जोड़ी में लौटा देता है, जैसा कि pop() विधि अन्य डेटा-प्रकारों के लिए करता है। (कुंजी, मान) जोड़ी टुपल डेटा-प्रकार की है, अर्थात कुंजी लौटाए गए टुपल का पहला तत्व है, और संबंधित मान उस (लौटाए गए) टुपल का दूसरा तत्व होगा। जब कोई कुंजी नाम टुपल डेटा-प्रकार का हो या उसका मान टुपल/popitem()
विधि से लौटाए गए टुपल का दूसरा तत्व एक नेस्टेड सूची होगी। यदि मूल डिक्शनरी शाब्दिक एक खाली डिक्शनरी है, तो popitem()
विधि से KeyError दिखाया जाएगा।
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_item = my_dict.popitem()
print( my_dict, type( my_dict ) )
print( my_item, type( my_item ) )
('key', ['def', 'ghi']) <class 'tuple'>
copy(), clear()
चूँकि डिक्शनरी शाब्दिक एक परिवर्तनशील डेटा-प्रकार है, clear()
विधि कोई तर्क नहीं लेता है, और डिक्शनरी शाब्दिक से सभी आइटम हटा देता है, और मूल (original) डिक्शनरी शाब्दिक एक खाली डिक्शनरी बन जाएगा। इसी तरह, copy()
विधि कोई तर्क नहीं लेता है, और यह आइटम (कुंजी:मान जोड़ी में) को दूसरे चर नाम पर कॉपी करता है। यह कार्य असाइनमेंट ऑपरेटर द्वारा भी किया जा सकता है।
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
new_dict = my_dict.copy()
print( my_dict )
print( new_dict )
empty_dict = my_dict.clear()
print( empty_dict ) # आउटपुट None है।
print( my_dict ) # आउटपुट {} है।
{'': 'abc', None: 22, 'key': ['def', 'ghi']}
None
{}
setdefault(self, key, default=None, /)
जब setdefault()
विधि के कोष्ठकों के अंदर कोई नई कुंजी और डिफ़ॉल्ट मान प्रदान किया जाता है, तो उन्हें कुंजी:मान युग्म में डिक्शनरी शाब्दिक में जोड़ा जाता है। जब दूसरा तर्क प्रदान नहीं किया जाता है, तो डिक्शनरी शाब्दिक में जोड़ा गया संबंधित कुंजी के लिए, डिफ़ॉल्ट मान None होता है। हालाँकि, जब कोई कुंजी नाम पहले से ही डिक्शनरी में मौजूद है, तो वह कुंजी:मान जोड़ी नहीं बदली जाएगी। यह विधि उपयोगी हो सकती है, जब किसी डिक्शनरी शाब्दिक में कुछ कुंजी नामों के लिए डिफ़ॉल्ट मान (उदाहरण के लिए, किसी व्यक्ति की प्रोफ़ाइल) जोड़े जाते हैं, जिन्हें बाद में संशोधित किया जा सकता है।
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
value1 = my_dict.setdefault('address', "Not Available") # उपरोक्त डिक्शनरी में नई कुंजी जोड़ी गई।
print(my_dict, value1)
value2 = my_dict.setdefault( 'middle_name' ) # यहाँ डिफ़ॉल्ट मान None है।
print(my_dict, value2)
value3 = my_dict.setdefault('key', "Will not be modified") # डिक्शनरी शाब्दिक पर कोई प्रभाव नहीं पड़ता।
print(my_dict, value3)
{'': 'abc', None: 22, 'key': ['def', 'ghi'], 'address': 'Not Available', 'middle_name': None} None
{'': 'abc', None: 22, 'key': ['def', 'ghi'], 'address': 'Not Available', 'middle_name': None} ['def', 'ghi']
fromkeys(iterable, value=None)
आप fromkeys()
विधि के अंदर पहले तर्क के रूप में, सूची/
new_sequence = (1, 2, 3, 4, 5)
new_dict = dict.fromkeys(new_sequence)
print( new_dict, type( new_dict ) )
my_dict = dict.fromkeys(new_sequence, 'Will be added later')
print( my_dict, type( my_dict ) )
{1: 'Will be added later', 2: 'Will be added later', 3: 'Will be added later', 4: 'Will be added later', 5: 'Will be added later'} <class 'dict'>
items(), keys(), values()
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
print( my_dict.items(), type( my_dict.items() ) )
print( my_dict.keys(), type( my_dict.keys() ) )
print( my_dict.values(), type( my_dict.values() ) )
dict_keys(['', None, 'key']) <class 'dict_keys'>
dict_values(['abc', 22, ['def', 'ghi']]) <class 'dict_values'>
तीन डिक्शनरी विधियाँ, items()
, keys()
, और values
विशेष अनुक्रम डेटा-प्रकार हैं, और क्रमशः dict_items (टुपल्स की सूची), dict_keys (कुंजी नामों की सूची) और dict_values (वस्तुओं के मूल्य की सूची) लौटाती हैं। आप उन्हें सूची या टुपल डेटा-प्रकारों में परिवर्तित कर सकते हैं या उन्हें सीधे for
या while
लूप में उपयोग कर सकते हैं।
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_list = list( my_dict.items() )
key_list = list( my_dict.keys() )
values_list = list( my_dict.values() )
print( my_list, type( my_list ) )
print( key_list, type( key_list ) )
print( values_list, type( values_list ) )
['', None, 'key'] <class 'list'>
['abc', 22, ['def', 'ghi']] <class 'list'>
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}for
key, value in
my_dict.items():
print( f"Key is {key} and its value is {value}." ) # इंडेंटेशन यहां महत्वपूर्ण है.
Key is None and its value is 22.
Key is key and its value is ['def', 'ghi'].
जांचें कि कोई कुंजी डिक्शनरी शाब्दिक में मौजूद है या नहीं
my_dict = {'': 'abc', None: 22, 'key': ['def', 'ghi']}
my_key = 'key'if
my_key in
my_dict:
print( f"Key {my_key} is present and its value is {my_dict[my_key]}." ) #
new_key = 'abc'if
new_key not in
my_dict:
print( f"Key {new_key} is not present." ) #
print( f"{my_dict[new_key]}" ) # इसका मान निकालने पर ERROR आएगा।
Key abc is not present.
Traceback (most recent call last):
File "C:\xampp\
print( f"{my_dict[new_key]}" ) # Extracting its value will throw ERROR.
~~~~~~~^^^^^^^^^
KeyError: 'abc'
आप अनुक्रम डेटा-प्रकार, जैसे स्ट्रिंग, सूची, टुपल या डिक्शनरी में किसी भी वर्ण (character) या आइटम/in
या not in
कीवर्ड, और if कोड के ब्लॉक का उपयोग करके ढूंढ (खोज) सकते हैं।
विधि का नाम | लौटाया गया प्रकार | विवरण |
---|---|---|
get() | आइटम का डेटा-प्रकार, या डिफ़ॉल्ट | यदि आप get() विधि में दूसरा तर्क प्रदान नहीं करते हैं, None लौटाया जाएगा। |
update() | None | update() विधि कभी भी, कुछ भी नहीं लौटाता है, अर्थात आपको अभिव्यक्ति को किसी चर नाम पर निर्दिष्ट करने की आवश्यकता नहीं है। update() विधि को सही ढंग से लागू करने के बाद मूल डिक्शनरी शाब्दिक को संशोधित किया जाता है! |
pop() | आइटम का डेटा-प्रकार, या दूसरा तर्क | जब pop() विधि में दूसरा तर्क निर्दिष्ट नहीं है, तब KeyError (कुंजीत्रुटि) दिखाया जाएगा। |
popitem() | टपल | अंतिम आइटम को हटाता है और कुंजी:मान जोड़ी को टुपल शाब्दिक में आइटम के रूप में लौटाता है। |
copy() | dict | वही डिक्शनरी शाब्दिक दूसरे चर नाम को सौंपा जाता है |
clear() | dict | मूल डिक्शनरी शाब्दिक एक खाली डिक्शनरी बन जाएगा। |
items() | dict_items | विशेष डेटा-प्रकार |
keys() | dict_keys | विशेष डेटा-प्रकार |
values() | dict_values | विशेष डेटा-प्रकार |
fromkeys() | dict | सूची/ |
setdefault() | dict | जब आप कोई नई कुंजी जोड़ने का प्रयास करेंगे तो यह विधि सहायक होगी। |
Leave a Comment:

Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤

Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇