अनुक्रमों और मैपिंग का मिलान
सूचियों और डिक्शनरी को विघटित करें
अनुक्रमों और मैपिंग का मिलान, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
विघटन करने वाले पैटर्न
match की वास्तविक शक्ति विघटन में है। अनुक्रम और मानचित्रण पैटर्न आपको डेटा की संरचना जाँचने और उसी समय मान निकालने देते हैं।
निश्चित लंबाई वाली सूची का मिलान
वर्गाकार कोष्ठकों में लिखा अनुक्रम पैटर्न, ठीक उतनी ही लंबाई वाली सूची या ट्यूपल से मेल खाता है और प्रत्येक तत्व को एक नाम से जोड़ता है।
point = [3, 4]
match point:
case [x, y]:
print('x =', x, 'y =', y)लंबाई का मिलान आवश्यक है
दो तत्वों वाला पैटर्न तीन तत्वों वाले अनुक्रम से मेल नहीं खाता। प्रत्येक मामला संरचना और लंबाई, दोनों की जाँच करता है।
data = [1, 2, 3]
match data:
case [a, b]:
print('pair')
case [a, b, c]:
print('triple:', a, b, c)शाब्दिक मानों और कैप्चर का मिश्रण
आप कुछ स्थानों को शाब्दिक मानों के लिए तय कर सकते हैं और बाकी को कैप्चर कर सकते हैं। इससे केवल वे अनुक्रम मेल खाते हैं जो दिए गए शाब्दिक मान से शुरू होते हैं।
command = ['move', 10, 20]
match command:
case ['move', dx, dy]:
print('moving by', dx, dy)
case ['stop']:
print('stopping')* के साथ शेष को कैप्चर करना
तारांकित नाम बचे हुए सभी तत्वों को एक सूची के रूप में कैप्चर करता है, ठीक विस्तारित अनपैकिंग की तरह।
items = [1, 2, 3, 4, 5]
match items:
case [first, *rest]:
print('first:', first)
print('rest:', rest)खाली और एकल पैटर्न
अनुक्रम पैटर्न किनारी स्थितियों को साफ़-सुथरे ढंग से सँभालते हैं: खाली सूची, एकल तत्व या कई तत्व।
def describe(seq):
match seq:
case []:
return 'empty'
case [x]:
return 'one: ' + str(x)
case [x, *rest]:
return 'many, first ' + str(x)
print(describe([]))
print(describe([9]))
print(describe([1, 2, 3]))डिक्शनरी का मिलान
मानचित्रण पैटर्न में ब्रेस का उपयोग होता है। यह जाँचता है कि दिए गए कुंजी मौजूद हैं और उनके मान जोड़ता है। विषय मान में अतिरिक्त कुंजियाँ होना स्वीकार्य है।
event = {'type': 'click', 'x': 10, 'y': 20}
match event:
case {'type': 'click', 'x': x, 'y': y}:
print('click at', x, y)आंशिक कुंजी मिलान
मानचित्रण पैटर्न में केवल आपके द्वारा सूचीबद्ध कुंजियाँ आवश्यक होती हैं। अन्य कुंजियों को अनदेखा किया जाता है, जो वैकल्पिक फ़ील्ड वाले संदेशों के लिए बहुत उपयोगी है।
event = {'type': 'key', 'code': 'A', 'extra': 1}
match event:
case {'type': 'key', 'code': code}:
print('key pressed:', code)शेष कुंजियों को कैप्चर करना
सभी बिना-मेल वाले कुंजी-मान युग्मों को एक डिक्शनरी में कैप्चर करने के लिए **rest का उपयोग करें।
event = {'type': 'move', 'dx': 5, 'dy': 7}
match event:
case {'type': 'move', **rest}:
print('move details:', rest)पैटर्नों की नेस्टिंग
पैटर्न स्वतंत्र रूप से एक-दूसरे के अंदर रखे जा सकते हैं। आप ऐसी डिक्शनरी का मिलान कर सकते हैं जिसमें एक सूची हो और दोनों का एक साथ विघटन कर सकते हैं।
data = {'name': 'grid', 'size': [3, 4]}
match data:
case {'name': name, 'size': [w, h]}:
print(name, 'is', w, 'by', h)यहाँ स्ट्रिंगें अनुक्रम नहीं हैं
अनुक्रम पैटर्न जानबूझकर स्ट्रिंगों या बाइट्स से नहीं मिलते, भले ही उन पर पुनरावृत्ति की जा सकती हो। इससे स्ट्रिंग को गलती से एक-एक अक्षर करके विघटित होने से रोका जाता है।
value = 'hi'
match value:
case [a, b]:
print('matched as sequence')
case str():
print('matched as string')त्वरित जाँच
[1, 2, 3, 4] से मिलान करने पर पैटर्न [first, *rest] किन मानों को जोड़ता है?
पुनरावलोकन
आपने सूचियों और डिक्शनरियों का विघटन करना सीखा।
- अनुक्रम पैटर्न लंबाई जाँचते हैं और तत्वों को जोड़ते हैं।
*restसूची के बचे हुए तत्वों को कैप्चर करता है।- मानचित्रण पैटर्न कुंजियों से मेल खाते हैं; अतिरिक्त कुंजियाँ स्वीकार्य हैं।
**restडिक्शनरी के बचे हुए युग्मों को कैप्चर करता है; पैटर्न एक-दूसरे के अंदर रखे जा सकते हैं।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 76
- पाठ
- 320
अक्सर पूछे जाने वाले प्रश्न
क्या “अनुक्रमों और मैपिंग का मिलान” पाठ निःशुल्क है?
हाँ—“अनुक्रमों और मैपिंग का मिलान” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अनुक्रमों और मैपिंग का मिलान” में मैं क्या सीखूँगा?
सूचियों और डिक्शनरी को विघटित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“अनुक्रमों और मैपिंग का मिलान” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- match और case की मूल बातें
- अनुक्रमों और मैपिंग का मिलान
- क्लास पैटर्न
- गार्ड और वाइल्डकार्ड