এই বিভাগে আমরা দেখব কিভাবে পাইথনে heapq মডিউল ব্যবহার করে দুটি সাজানো তালিকা একত্রিত করা যায়। উদাহরণ হিসেবে, যদি list1 =[10, 20, 30, 40] এবং list2 =[100, 200, 300, 400, 500] হয়, তাহলে মার্জ করার পর এটি list3 =[10, 20, 30, 40, 100, 200, 300, 400, 500]
এই কাজটি সম্পাদন করতে, আমরা heapq মডিউল ব্যবহার করব। এই মডিউলটি পাইথনের সাথে স্ট্যান্ডার্ড লাইব্রেরি মডিউল হিসাবে আসে। তাই এটি ব্যবহার করার আগে আমাদের এটি আমদানি করতে হবে৷
import heapq
heapq মডিউল কিছু বৈশিষ্ট্য আছে. এগুলো নিচের মত -
পদ্ধতি heapq.heapify(পুনরাবৃত্ত)
এটি একটি পুনরাবৃত্তিযোগ্য ডেটাসেটকে হিপ ডেটা স্ট্রাকচারে রূপান্তর করতে ব্যবহৃত হয়।
পদ্ধতি heapq.heappush(হিপ, উপাদান)
এই পদ্ধতিটি উপাদানটিকে স্তূপে ঢোকাতে ব্যবহৃত হয়। এর পর পুরো হিপ স্ট্রাকচার রি-হিপ করুন।
পদ্ধতি heapq.heappop(হিপ)
এই পদ্ধতিটি হিপের উপরে থেকে উপাদানটিকে ফিরিয়ে আনতে এবং মুছে ফেলার জন্য এবং বাকি উপাদানগুলিতে heapify করতে ব্যবহৃত হয়৷
পদ্ধতি heapq.heappushpop(হিপ, উপাদান)
এই পদ্ধতিটি একটি বিবৃতিতে উপাদান সন্নিবেশ এবং পপ করতে ব্যবহৃত হয়।
পদ্ধতি heapq.heapreplace(heap, element)
এই পদ্ধতিটি একটি বিবৃতিতে উপাদান সন্নিবেশ এবং পপ করতে ব্যবহৃত হয়। এটি উপাদানটিকে স্তূপের মূল থেকে সরিয়ে দেয়, তারপরে উপাদানটিকে স্তূপে সন্নিবেশ করায়।
পদ্ধতি heapq.nlargest(n, iterable, key=None)
এই পদ্ধতিটি হিপ থেকে n বৃহত্তম উপাদান ফেরত দিতে ব্যবহৃত হয়।
পদ্ধতি heapq.nsmallest(n, iterable, key=None)
এই পদ্ধতিটি হিপ থেকে n ক্ষুদ্রতম উপাদান ফেরত দিতে ব্যবহৃত হয়।
উদাহরণ কোড
import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] second_list = [42, 13, 69, 54, 15] first_list = sorted(first_list) second_list = sorted(second_list) print('First sorted list: ' + str(first_list)) print('Second sorted list: ' + str(second_list)) final_list = list(heapq.merge(first_list, second_list)) print('The final list: ' + str(final_list))
আউটপুট
First sorted list: [12, 15, 20, 21, 36, 45, 63, 74, 95] Second sorted list: [13, 15, 42, 54, 69] The final list: [12, 13, 15, 15, 20, 21, 36, 42, 45, 54, 63, 69, 74, 95]