जब दूसरी लिस्ट का उपयोग करके टपल्स की लिस्ट को अपडेट करने की आवश्यकता होती है, तो 'defaultdict' का उपयोग किया जा सकता है।
Defaultdict एक कंटेनर है जो डिक्शनरीज़ के समान है जो 'collections' मॉड्यूल में मौजूद है। यह 'dict' क्लास का एक सब-क्लास है। यह एक डिक्शनरी-जैसा ऑब्जेक्ट लौटाता है। 'defaultdict' कभी भी KeyError नहीं उठाता। यह उस कुंजी के लिए एक डिफ़ॉल्ट वैल्यू प्रदान करता है जो मौजूद नहीं है।
इसके लिए एक प्रदर्शन नीचे दिया गया है:
उदाहरण
from collections import defaultdict
def merge_vals(list_1, list_2):
my_dict = defaultdict(list)
for i, j in list_1 + list_2:
my_dict[i].append(j)
return sorted([(i, max(j)) for i, j in my_dict.items()], key=lambda x: x[0])
my_list_1 = [('v', 1), ('q', 2), ('o', 0)]
my_list_2 = [('q', 5), ('o', 3)]
print("The first list of tuple is : ")
print(my_list_1)
print("The second list of tuple is : ")
print(my_list_2)
print("After merging, it becomes : ")
print(merge_vals(my_list_1, my_list_2))आउटपुट
The first list of tuple is : [('v', 1), ('q', 2), ('o', 0)]
The second list of tuple is : [('q', 5), ('o', 3)]
After merging, it becomes : [('o', 3), ('q', 5), ('v', 1)]व्याख्या
- आवश्यक लाइब्रेरीज़ इम्पोर्ट की जाती हैं।
- 'merge_vals' नामक एक मेथड परिभाषित किया गया है, जो दो लिस्ट्स को आर्गुमेंट्स के रूप में लेता है। एक defaultdict बनाया जाता है।
- लिस्ट्स में एलिमेंट्स पर इटरेट किया जाता है, और पहली लिस्ट के एलिमेंट को इंडेक्स के रूप में लिया जाता है, और दूसरे इंडेक्स से एलिमेंट को डिक्शनरी में जोड़ा जाता है।
- यह डिक्शनरी सॉर्ट की जाती है और लौटाई जाती है।
- टपल्स की दो लिस्ट्स बनाई जाती हैं, और कंसोल पर प्रदर्शित की जाती हैं।
- 'merge_vals' मेथड को इन दो लिस्ट्स ऑफ टपल्स को पैरामीटर के रूप में पास करके कॉल किया जाता है।
- यह आउटपुट के रूप में कंसोल पर प्रदर्शित होता है।