فانکشن iter در پایتون: کلید ورود به دنیای تکرارها
فانکشن `iter` در پایتون چه کار میکند؟
تصور کن یک لیست از میوهها داری و میخواهی روی هر یک از آنها یک عملیات انجام دهی. برای این کار، تو به یک راهی نیاز داری تا بتوانی روی عناصر این لیست بهطور متوالی دسترسی پیدا کنی. اینجا است که فانکشن iter
وارد عمل میشود.
این فانکشن یک شیء قابل تکرار (iterable) را میگیرد و یک ایترتور (iterator) برمیگرداند. ایترتور شیئای است که به تو اجازه میدهد تا عناصر یک مجموعه را یکی یکی بخوانی.
مثال ساده:
my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)
print(next(my_iterator)) # خروجی: 1
print(next(my_iterator)) # خروجی: 2
در این مثال:
*
my_list
یک لیست است که یک شیء قابل تکرار محسوب میشود.*
iter(my_list)
یک ایترتور ایجاد میکند که به اولین عنصر لیست اشاره میکند.* هر بار که
next()
را صدا میزنیم، به عنصر بعدی در لیست میرویم.چرا از iter استفاده میکنیم؟
* حلقههای for: در پشت صحنه، حلقههای
for
از ایترتورها استفاده میکنند تا روی عناصر یک مجموعه تکرار کنند.* درکپذیرها (Comprehensions): درکپذیرها هم از ایترتورها برای ایجاد لیستها، دیکشنریها و ستها استفاده میکنند.
* توابع داخلی پایتون: بسیاری از توابع داخلی پایتون مانند
map
, filter
و reduce
از ایترتورها استفاده میکنند.چه چیزهایی را میتوانیم به عنوان آرگومان به iter بدهیم؟
* لیستها: سادهترین نوع شیء قابل تکرار هستند.
* تاپلها: مانند لیستها، تاپلها نیز قابل تکرار هستند.
* رشتهها: رشتهها نیز به عنوان یک دنباله از کاراکترها، قابل تکرار هستند.
* دیکشنریها: با استفاده از `iter(my_dict)`، کلیدهای دیکشنری را به صورت یک ایترتور دریافت میکنیم.
* هر شیء دیگری که متد `__iter__` را پیادهسازی کرده باشد.
جمعبندی
فانکشن
iter
یک ابزار قدرتمند در پایتون است که به شما اجازه میدهد تا روی عناصر مختلف تکرار کنید. با درک نحوه کار این فانکشن، میتوانید کدهای خود را بهینهتر و خواناتر کنید.