TGViewer
PyCoders (پایتون) PyCoders (پایتون) @python_rd · 4.1K subscribers
Post #2103 560
🔆 جستجوی سریع‌تر با ترفند Set

🔹 چرا پایتون وقتی لیست‌هات بزرگ میشن کند میشه؟ چون وقتی مینویسی if item in my_list پایتون مجبوره از اولِ لیست تا اون آیتم رو دونه دونه بگرده، حالا اگه لیستت بزرگ باشه، فاجعه‌ست! برای اینکه این مشکل رو حل کنی، لیستت رو به set تبدیل کن. توی ست‌ها، پایتون از مکانیزم Hash استفاده می‌کنه و عملاً در زمان صفر پیداش می‌کنه. اینطوری:

# کد کند (جستجوی خطی)
search_list = [1, 2, 3, 4, 5, ...]
if 500 in search_list: # کلی زمان می‌بره
pass

# کد سریع (جستجوی هشی)
search_set = {1, 2, 3, 4, 5, ...}
if 500 in search_set: # در یک لحظه پیدا می‌کنه
pass

🔹 تفاوتش فقط توی همین آکولاد {} هست، اما سرعت اجرای کدت رو وحشتناک می‌بره بالا. این یعنی کدِ بهینه‌تر بدون درگیری‌های پیچیده.

🐍 @python_rd
  • 🔥 3
More from @python_rd
  1. Oct 15, 2026🌐 خروجی این کد پایتون چیست؟ x = [1, 2, 3] y = x x += [4, 5] print(x) print(y) 🔹 گزینه‌ها…
  2. Oct 15, 2026🔆 آیا enumerate() بهتر از index-based loop است؟ 🔹 خیلی‌ها هنوز این شکلی می‌نویسند: items…
  3. Oct 15, 2026🔆 یک تله عجیب در پایتون: bool در واقع زیرکلاس int است 🔹 خیلی‌ها می‌دانند True == 1 و Fal…
  4. Oct 13, 2026کوییز پایتون 🔆 خروجی اجرای کد زیر چیست؟ t = (1, 2, [3, 4]) try: t[2] += [5] except TypeEr…
  5. Oct 13, 2026🔆 راز مکانیزم پیاده‌سازی و تغییر جهت NaN در الگوریتم مرتب‌سازی پایتون (Timsort) 🔹 باگ ری…
  6. Oct 13, 2026🔆 حذف تاریخی GIL از پایتون (Free-threaded Python) 🔹 یک رویداد تاریخی: حذف قفل مفسر (GIL)…
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 →