जब सूची में तत्वों के समूहबद्ध लगातार रेंज के इंडेक्स प्राप्त करना आवश्यक हो, तो एक defaultdict बनाया जाता है। एक साधारण पुनरावृत्ति, 'groupby' विधि, 'len' विधि, 'list' विधि और 'append' विधियों का उपयोग किया जाता है।
उदाहरण
नीचे इसका प्रदर्शन दिया गया है:
from itertools import groupby
from collections import defaultdict
my_list = [63, 12, 84, 91, 52, 39, 25, 27, 20, 11, 0,9]
print("The list is : ")
print(my_list)
my_index = 0
my_result = defaultdict(list)
for key, sub in groupby(my_list):
element = len(list(sub))
my_result[key].append((my_index, my_index + element - 1))
my_index += element
print("The resultant dictionary is : ")
print(my_result)
आउटपुट
The list is : [63, 12, 84, 91, 52, 39, 25, 27, 20, 11, 0, 9] The resultant dictionary is : defaultdict(, {63: [(0, 0)], 12: [(1, 1)], 84: [(2, 2)], 91: [(3, 3)], 52: [(4, 4)], 39: [(5, 5)], 25: [(6, 6)], 27: [(7, 7)], 20: [(8, 8)], 11: [(9, 9)], 0: [(10, 10)], 9: [(11, 11)]})
व्याख्या
आवश्यक पैकेज वातावरण में आयात किए गए हैं।
पूर्णांकों की एक सूची परिभाषित की गई है और कंसोल पर प्रदर्शित की गई है।
एक मान को 0 पर आरंभ किया गया है।
एक डिफ़ॉल्ट डिक्शनरी बनाई गई है।
'groupby' विधि को लागू करके सूची पर पुनरावृत्ति की जाती है।
आरंभिक मान को खाली डिक्शनरी में जोड़ा जाता है।
इसे कंसोल पर आउटपुट के रूप में प्रदर्शित किया जाता है।