যদি লিস্টে এলিমেন্টের গ্রুপড কনsekutিভ রেঞ্জ ইনডেক্স বের করতে হয়, তবে একটি 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)]})
ব্যাখ্যা
প্রয়োজনীয় প্যাকেজগুলো এনভায়রনমেন্টে ইম্পোর্ট করা হয়।
একটি ইন্টিজার লিস্ট ডিফাইন করা হয় এবং কনসোলে দেখানো হয়।
একটি ভ্যালু ০ দিয়ে ইনিশিয়ালাইজ করা হয়।
একটি ডিফল্ট ডিকশনারি তৈরি করা হয়।
লিস্টটি 'groupby' মেথড প্রয়োগ করে ইটারেট করা হয়।
ইনিশিয়ালাইজ করা ভ্যালু খালি ডিকশনারিতে অ্যাপেন্ড করা হয়।
এটি আউটপুট হিসেবে কনসোলে দেখানো হয়।