آموزش پایتون
88 subscribers
281 photos
21 videos
81 files
178 links
ارتباط با ما:
@learnpythonicyBot

لینک گروه چت:
https://t.me/learnpythonicychat

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
☀️ یکی از ماژول‌های جدید و جذاب پایتون، graphlib است که در پایتون ۳.۹ معرفی شد. این ماژول برای انجام توپولوژیکال سورت (مرتب‌سازی توپولوژیکی) روی گراف‌های بدون دور (DAG) بسیار مفید است.

مثال کاربردی graphlib برای زمان‌بندی کارها:

from graphlib import TopologicalSorter

# تعریف گراف کارها و وابستگی‌ها
tasks = {
'پوشیدن کفش': {'پوشیدن جوراب'},
'پوشیدن جوراب': {'لباس پوشیدن'},
'لباس پوشیدن': {'دوش گرفتن'},
'دوش گرفتن': set(),
'خوردن صبحانه': {'مسواک زدن'},
'مسواک زدن': {'بیدار شدن'},
'بیدار شدن': set()
}

# ایجاد یک مرتب‌ساز توپولوژیک
ts = TopologicalSorter(tasks)

# انجام مرتب‌سازی و چاپ ترتیب صحیح کارها
print("ترتیب بهینه انجام کارها:")
for task in ts.static_order():
print(f"→ {task}")

خروجی مثال:
ترتیب بهینه انجام کارها:
→ بیدار شدن
→ دوش گرفتن
→ لباس پوشیدن
→ پوشیدن جوراب
→ پوشیدن کفش
→ مسواک زدن
→ خوردن صبحانه


✔️ مزایای graphlib

سبک و سریع:
پیاده‌سازی بهینه‌شده در خود پایتون
خطایابی آسان اگر گراف دور داشته باشد به خوبی تشخیص می‌ده
انعطاف‌پذیر: هم با دیکشنری و هم با گراف‌های دیگر کار می‌کند

#graphlib | آموزش پایتون