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 Manipulation in Category: पाइथन by amit
🕙 Posted on 2023-08-20 at 08:04:40
डिक्शनरियों के बारे में अधिक
पिछले पृष्ठों में आपने कुछ सरल डिक्शनरियों के उदाहरण देखे हैं। डिक्शनरी अन्य प्रोग्रामिंग भाषाओं, जैसे PHP और जावास्क्रिप्ट में साहचर्य (associative) सरणी (arrays) की तरह हैं। एक डिक्शनरी में केवल वे आइटम/
कुंजी नाम अपरिवर्तनीय (immutable) डेटा-प्रकार होने चाहिए, यानी पूर्णांक (integer), फ्लोट, बूलियन, स्ट्रिंग, टुपल या None डेटा-प्रकार, (जो hashable भी होना चाहिए)। इस प्रकार, एक कुंजी नाम 0 (शून्य), 1 (एक), आदि हो सकता है, लेकिन वे कुंजी नाम सूचकांक संख्या नहीं हैं। डिक्शनरी में एक आइटम/:
(कोलन) चिह्न द्वारा अलग किया जाता है। और, आइटमों को ,
(अल्पविराम) चिह्न द्वारा अलग किया जाता है। dict()
अंतर्निहित फ़ंक्शन या {}
(घुंघराले ब्रेसिज़ की एक जोड़ी) का उपयोग करके एक खाली (empty) डिक्शनरी बनाया जा सकता है। हालाँकि, घुंघराले ब्रेसिज़ की एक जोड़ी में कुंजी के बिना आइटम सेट डेटा-प्रकार शाब्दिक हैं।
my_dict = { (1, 'a', None, True): 'one' }
print( my_dict, type( my_dict ) ) # आउटपुट निम्न प्रकार हैं:
my_dict = { False: 'zero' }
print( my_dict, type( my_dict ) ) # आउटपुट निम्न प्रकार हैं:
my_dict = { None: 'zero' }
print( my_dict, type( my_dict ) ) # आउटपुट निम्न प्रकार हैं:
my_dict = { [1,2,3,4]: 'one' }
print( my_dict, type( my_dict ) ) # निम्नानुसार त्रुटि आउटपुट करता है:
File "C:\xampp\
my_dict = { [1,2,3,4]: 'one' }
^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'list'
my_dict = { {1:'a',2:'b',3:'c'}: 'one' }
print( my_dict, type( my_dict ) ) # निम्नानुसार त्रुटि आउटपुट करता है:
File "C:\xampp\
my_dict = { {1:'a',2:'b',3:'c'}: 'one' }
^^^^^^^^^^^^^^^
TypeError: unhashable type: 'dict'
my_dict = { (1, ['a'], {}, set()): 'one' }
print( my_dict, type( my_dict ) ) # निम्नानुसार त्रुटि आउटपुट करता है:
File "C:\xampp\
my_dict = { (1, ['a'], {}, set()): 'one' }
^^^^^^^^^^^^^^^
TypeError: unhashable type: 'list'
उपरोक्त उदाहरण में, आप देख सकते हैं कि डिक्शनरी शाब्दिक की टुपल कुंजी में जब कोई भी आइटम/
आप विभिन्न विधियों की तुलना वाले पृष्ठ पर देख सकते हैं, कि __hash__()
विधि हर डेटा-प्रकार के लिए उपलब्ध है, हालाँकि, जब आप इसे help() अंतर्निहित फ़ंक्शन के साथ जांचते हैं, तो आप (सहायता दस्तावेज के नीचे) पाएंगे कि सूची (list), dict (डिक्शनरी), set और bytearray डेटा-प्रकारों में __hash__ = None निर्दिष्ट है। अन्य डेटा-प्रकारों जैसे bool, None, int, float, complex, स्ट्रिंग, टपल, bytes, memoryview के लिए, __hash__()
विधि hash() अंतर्निहित फ़ंक्शन के बराबर है। विभिन्न मॉड्यूल के माध्यम से पायथन में अन्य (कस्टम) डेटा-प्रकार उपलब्ध हैं। यहां तक कि आप कस्टम मॉड्यूल, क्लासेज, फ़ंक्शन, विधियां और कस्टम डेटा-प्रकार भी बना सकते हैं। आपको निम्नलिखित उदाहरणों द्वारा जांचना चाहिए कि कोई डेटा-प्रकार hashable है या नहीं:
print( help( list.__hash__ ) )
print( help( dict.__hash__ ) )
print( help( set.__hash__ ) )
print( help( bytearray.__hash__ ) )
उपरोक्त कोड के लिए, आउटपुट वैसा ही होगा जैसा कि print( help( None ) ) के बराबर है, क्योंकि सूची, डिक्शनरी, सेट, बाइटएरे (डेटा-प्रकार) के लिए __hash__
None है। हालाँकि, निम्नलिखित कोड का आउटपुट Return hash(self) दिखाते हैं, और वे इनके लिए समान होगा।
print( help( bool.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( int.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( float.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( complex.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( str.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( tuple.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( bytes.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( memoryview.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
print( help( None.__hash__ ) ) # आउटपुट निम्न प्रकार हैं:
__hash__(self, /)
Return hash(self).
None
किसी आइटम को जोड़ना, संशोधित करना और हटाना
डिक्शनरी शाब्दिक में एक आइटम/
my_dict = {}
my_dict['a'] = [12, 14, 16, 18]
print( my_dict ) # आउटपुट {'a': [12, 14, 16, 18]} है।
# उपरोक्त उदाहरण के साथ जारी रखें:
my_dict[None] = object()
print( my_dict ) # आउटपुट {'a': [12, 14, 16, 18], None: <object object at 0x000002B098534270>} है।
डिक्शनरी शाब्दिक में किसी आइटम का मूल्य पायथन के किसी भी मान्य डेटा-प्रकार का हो सकता है, लेकिन आपको सावधानीपूर्वक कुंजियों का नाम देना चाहिए। डिक्शनरी में किसी आइटम को नीचे दिखाए अनुसार संशोधित किया जा सकता है:
my_dict[None] = True
print( my_dict ) # आउटपुट {'a': [12, 14, 16, 18], None: True} है।
del
my_dict[None]
print( my_dict ) # आउटपुट {'a': [12, 14, 16, 18]} है।
del
my_dict
print( my_dict ) # आउटपुट त्रुटि (जैसा कि नीचे दिखाया गया) है, क्योंकि संपूर्ण डिक्शनरी शाब्दिक को हटा दिया गया है
File "C:\xampp\
print( my_dict )
^^^^^^^
NameError: name 'my_dict' is not defined
print( help( dict ) ) # आउटपुट जैसा कि नीचे दिखाया गया है:
class dict(object)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object's
| (key, value) pairs
| dict(iterable) -> new dictionary initialized as if via:
| d = {}
| for k, v in iterable:
| d[k] = v
| dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
|
| Methods defined here:
|
| __contains__(self, key, /)
| True if the dictionary has the specified key, else False.
|
| __delitem__(self, key, /)
| Delete self[key].
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __gt__(self, value, /)
| Return self>value.
|
| __init__(self, /, *args, **kwargs)
| Initialize self. See help(type(self)) for accurate signature.
|
| __ior__(self, value, /)
| Return self|=value.
|
| __iter__(self, /)
| Implement iter(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __len__(self, /)
| Return len(self).
|
| __lt__(self, value, /)
| Return self<value.
|
| __ne__(self, value, /)
| Return self!=value.
|
| __or__(self, value, /)
| Return self|value.
|
| __repr__(self, /)
| Return repr(self).
|
| __reversed__(self, /)
| Return a reverse iterator over the dict keys.
|
| __ror__(self, value, /)
| Return value|self.
|
| __setitem__(self, key, value, /)
| Set self[key] to value.
|
| __sizeof__(...)
| D.__sizeof__() -> size of D in memory, in bytes
|
| clear(...)
| D.clear() -> None. Remove all items from D.
|
| copy(...)
| D.copy() -> a shallow copy of D
|
| get(self, key, default=None, /)
| Return the value for key if key is in the dictionary, else default.
|
| items(...)
| D.items() -> a set-like object providing a view on D's items
|
| keys(...)
| D.keys() -> a set-like object providing a view on D's keys
|
| pop(...)
| D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
|
| If the key is not found, return the default if given; otherwise,
| raise a KeyError.
|
| popitem(self, /)
| Remove and return a (key, value) pair as a 2-tuple.
|
| Pairs are returned in LIFO (last-in, first-out) order.
| Raises KeyError if the dict is empty.
|
| setdefault(self, key, default=None, /)
| Insert key with a value of default if key is not in the dictionary.
|
| Return the value for key if key is in the dictionary, else default.
|
| update(...)
| D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
| If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
| If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
| In either case, this is followed by: for k in F: D[k] = F[k]
|
| values(...)
| D.values() -> an object providing a view on D's values
|
| ----------
| Class methods defined here:
|
| __class_getitem__(...) from builtins.type
| See PEP 585
|
| fromkeys(iterable, value=None, /) from builtins.type
| Create a new dictionary with keys from iterable and values set to value.
|
| ----------
| Static methods defined here:
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
|
| ----------
| Data and other attributes defined here:
|
| __hash__ = None
None
Leave a Comment:
Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤
Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇