چرا لیستهای بزرگ توی پایتون حافظه رو میترکونن؟
🔹 وقتی مینویسی
[x for x in range(1000000)]
تمام این لیست میره توی RAM. اگه به جای
[]
از پرانتز
()
استفاده کنی، داری از
Generator
استفاده میکنی.
🔹تفاوت؟ جنریتورها آیتمها رو یکییکی تولید میکنن (Lazy Evaluation). یعنی به جای اشغال کردن فضای زیاد، فقط وقتی لازم داری محاسبه میشن. برای پردازش فایلهای بزرگ یا دیتای حجیم، جنریتورها بهترین دوست تو هستن.
🐍 @python_rd