در صورتی که چند منبع داده از پیش مرتب باشند، نیازی به جمعآوری تمامی آنها در یک مجموعه و مرتبسازی مجدد وجود ندارد.
🐍 تابع "heapq.merge()" قادر است چندین توالی (Sequence) یا تکرارگر (Iterator) مرتبشده را به یک تکرارگر مرتب و واحد تبدیل کند.
📌 در این راهنما موارد زیر بررسی میشود:
🔹 ترکیب چند توالی مرتبشده
🔹 پردازش Lazy برای دادههای حجیم
🔹 استفاده از پارامتر "key" برای تعیین نحوهی مقایسه
🔹 ترکیب دادههایی که بهصورت معکوس (Reverse Order) مرتب شدهاند
نمونهای از کد:
import heapq
a = [1, 4, 7]
b = [2, 5, 8]
c = [3, 6, 9]
result = heapq.merge(a, b, c)
print(list(result))
خروجی:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
⚡ نکته مهم: تابع "heapq.merge()" دادهها را بهصورت Lazy پردازش میکند؛ بدین معنا که نیازی به بارگذاری همزمان تمامی دادهها در حافظه وجود ندارد.
این ویژگی برای کار با لاگها، فایلها، نتایج پرسوجوها (Query Result) و مجموعههای دادهای بزرگ بسیار کاربردی است؛ بهویژه در مواردی که هر منبع از پیش مرتب شده باشد.
#Python #Data
CODELAB | GpCodeLab