पायथन - मैप्स
पायथन मैप्स जिसे चैनपाइप भी कहा जाता है, एक यूनिट के रूप में एक साथ कई शब्दकोशों को प्रबंधित करने के लिए एक प्रकार का डेटा स्ट्रक्चर है। संयुक्त शब्दकोश में किसी भी डुप्लिकेट कुंजियों को नष्ट करने वाले विशिष्ट अनुक्रम में कुंजी और मूल्य जोड़े शामिल हैं। ChainMap का सबसे अच्छा उपयोग एक समय में कई शब्दकोशों के माध्यम से खोज करना और उचित कुंजी-मूल्य जोड़ी मानचित्रण प्राप्त करना है। हम यह भी देखते हैं कि ये ChainMaps स्टैक डेटा संरचना के रूप में व्यवहार करते हैं।
एक चैनपॉइंट बनाना
हम दो शब्दकोशों बनाते हैं और उन्हें संग्रह पुस्तकालय से चैनपाइप विधि का उपयोग करके क्लब करते हैं। फिर हम शब्दकोशों के संयोजन के परिणाम की कुंजी और मूल्यों को प्रिंट करते हैं। यदि डुप्लिकेट कुंजियाँ हैं, तो केवल पहली कुंजी से मान संरक्षित है।
import collections
dict1 = {'day1': 'Mon', 'day2': 'Tue'}
dict2 = {'day3': 'Wed', 'day1': 'Thu'}
res = collections.ChainMap(dict1, dict2)
# Creating a single dictionary
print(res.maps,'\n')
print('Keys = {}'.format(list(res.keys())))
print('Values = {}'.format(list(res.values())))
print()
# Print all the elements from the result
print('elements:')
for key, val in res.items():
print('{} = {}'.format(key, val))
print()
# Find a specific value in the result
print('day3 in res: {}'.format(('day1' in res)))
print('day4 in res: {}'.format(('day4' in res)))
जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है।
[{'day1': 'Mon', 'day2': 'Tue'}, {'day1': 'Thu', 'day3': 'Wed'}]
Keys = ['day1', 'day3', 'day2']
Values = ['Mon', 'Wed', 'Tue']
elements:
day1 = Mon
day3 = Wed
day2 = Tue
day3 in res: True
day4 in res: False
मानचित्र का पुन: निर्धारण
यदि हम उपर्युक्त उदाहरण में क्लब करते हुए शब्दकोशों को क्रम में बदलते हैं तो हम देखते हैं कि तत्वों की स्थिति परस्पर जुड़ जाती है जैसे कि वे एक सतत श्रृंखला में हों। यह मैप्स के व्यवहार को फिर से स्टैक के रूप में दिखाता है।
import collections
dict1 = {'day1': 'Mon', 'day2': 'Tue'}
dict2 = {'day3': 'Wed', 'day4': 'Thu'}
res1 = collections.ChainMap(dict1, dict2)
print(res1.maps,'\n')
res2 = collections.ChainMap(dict2, dict1)
print(res2.maps,'\n')
जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है।
[{'day1': 'Mon', 'day2': 'Tue'}, {'day3': 'Wed', 'day4': 'Thu'}]
[{'day3': 'Wed', 'day4': 'Thu'}, {'day1': 'Mon', 'day2': 'Tue'}]
मानचित्र अद्यतन करना
जब शब्दकोश के तत्व को अपडेट किया जाता है, तो परिणाम चेनपेज़ के परिणाम में तुरंत अपडेट किया जाता है। नीचे दिए गए उदाहरण में हम देखते हैं कि नया अपडेट किया गया मान परिणाम के बिना स्पष्ट रूप से फिर से चैनपॉच विधि को लागू करने को दर्शाता है।
import collections
dict1 = {'day1': 'Mon', 'day2': 'Tue'}
dict2 = {'day3': 'Wed', 'day4': 'Thu'}
res = collections.ChainMap(dict1, dict2)
print(res.maps,'\n')
dict2['day4'] = 'Fri'
print(res.maps,'\n')
जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है।
[{'day1': 'Mon', 'day2': 'Tue'}, {'day3': 'Wed', 'day4': 'Thu'}]
[{'day1': 'Mon', 'day2': 'Tue'}, {'day3': 'Wed', 'day4': 'Fri'}]