TGViewer
Code Lab Code Lab @c0delab · 847 subscribers
Post #1805 180
تابع "heapq.merge()" برای ترکیب چند منبع داده‌ی مرتب‌شده به کار می‌رود.

در صورتی که چند منبع داده از پیش مرتب باشند، نیازی به جمع‌آوری تمامی آن‌ها در یک مجموعه و مرتب‌سازی مجدد وجود ندارد.

🐍 تابع "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
  • 👍 8
More from @c0delab
  1. Oct 5, 2026‏اگه دنبال جزئیات کوچیکی و خفن هستید که UI رو خیلی بهتر می‌کنن، این سایت رو ببینید! &r…
  2. Oct 3, 2026خب خب😁 و Claude Sonnet 5.5 حالا در Cursor نیز در دسترس قرار گرفت جدیدا Cursor رسما Claude…
  3. Oct 2, 2026#سوال_شما سلام ممنون میشم این پیامو بزارید چنل برای حل این مشکل باید چیکار کنم هر پستی میز…
  4. Oct 1, 2026اپلیکیشن «پلیس من» رو نصب کنید. از بخش خدمات راهور وارد گزینه «گزارش سد معبر» بشید و پلاک…
  5. Sep 30, 2026‏اگه تا حالا برای ساخت یه PDF حرفه‌ای با چت جی پی‌تی حرص خوردی و هی گفتی این نهههههههه…
  6. Sep 30, 2026‏🤯 این دیگه واقعاً خفنه! ‏یه دولوپر به‌تنهایی یه جایگزین کاملاً رایگان و متن‌باز…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →