منو سایت

Iterator در پایتون بررسی 4 ترفند با ویدئو

 تاریخ انتشار :
/
  وبلاگ
Iterator در پایتون بررسی 4 ترفند با ویدئو

تکرار کننده در پایتون تابعی است که به شما امکان می دهد تمام عناصر یک مجموعه یا رشته را حلقه بزنید و عملیات برنامه نویسی را روی آن انجام دهید. در اصطلاح برنامه نویسی، یک تکرار کننده، یک شی است که تعداد زیادی از مقادیر را در خود نگه می دارد. جالب است بدانید که لیست ها، تاپل ها، دیکشنری ها و مجموعه ها را می توان در پایتون تکرار کرد و می توانید عناصر مختلف آنها را با استفاده از متد iter() در خروجی چاپ کنید. در ادامه این مقاله از سری مقالات آموزش پایتون به این موضوع می پردازیم.

دوره ارائه شده در ویدئو

استفاده از تکرار کننده ها در پایتون

استفاده از iterators در پایتون آسان است و می توانید با استفاده از دستور iter() این کار را انجام دهید. توجه داشته باشید که با استفاده از این دستور می توانید یک مجموعه داشته باشید، سپس می توانید به راحتی روی عناصر مجموعه با next تکرار کنید.

Tuple = ("apple", "kiwi", "orange")

myit = iter(Tuple)

print(next(myit)) #prints apple

print(next(myit)) #prints kiwi

print(next(myit)) #prints orange

:print(next(myit)) #prints Error loading preloads

Could not find renderer

استفاده از تکرار کننده پایتون برای رشته ها

مانند مجموعه ها، استفاده از Iterator در پایتون برای رشته ها نیز امکان پذیر است. در این صورت شما قادر خواهید بود هر کاراکتری را به راحتی از یک رشته استخراج کرده و عملیات مورد نظر را روی آن انجام دهید.

"String = "orange

myit = iter(String)

print(next(myit)) #prints o

print(next(myit)) #prints r

print(next(myit)) #prints a

print(next(myit)) #prints n

print(next(myit)) #prints g

print(next(myit)) #prints e

استفاده از تابع ناوبری برای لیست ها در پایتون

اگر می خواهید از تابع Iterator برای لیست ها در پایتون استفاده کنید، این امکان وجود دارد. مانند مجموعه tuple در این زبان، ابتدا باید یک تکرار کننده برای لیست ها ایجاد کنید و با استفاده از کلمه کلیدی بعدی، می توانید از عملیات جهت یابی عناصر مختلف لیست ها استفاده کنید.

توجه داشته باشید که اولین بار که از next استفاده می کنید، اولین عنصر با شاخص صفر چاپ می شود و سپس می توانید عناصر 1، 2 و … را در خروجی چاپ کنید. اگر تعداد استفاده های next بیشتر از شاخص مجموعه مورد نظر بود، در خروجی با خطا مواجه خواهید شد.

List = [1,2,3,4,5]

myiter = iter(List)

print(next(myiter)) #prints 1

print(next(myiter)) #prints 2

print(next(myiter)) #prints 3

print(next(myiter)) #prints 4

print(next(myiter)) #prints 5

قابلیت پیمایش با روش های مختلف

در پایتون، دسترسی به عملکرد مرورگر به روش های مختلفی امکان پذیر است. علاوه بر استفاده از دستور iter در این زبان، می‌توانید به راحتی در یک مجموعه با حلقه iterate پایتون پیمایش کنید. مراقب باشید که از تابع ناوبری در پایتون استفاده کنید، شی باید قابل پیمایش باشد.

Tuple = ("apple", "banana", "kiwi")

:for x in Tuple

   print(x)

prints apple banana kiwi#

همچنین می توانید از حلقه for به صورت زیر برای حلقه زدن کاراکترهای یک رشته استفاده کنید.

String = "banana"

for x in String:

   print(x) #prints each character of the String

استفاده از تکرار کننده در پایتون برای فرهنگ لغت

امکان استفاده از تکرار کننده ها در پایتون برای دیکشنری ها وجود دارد، اما تفاوت کمی در دسترسی به عناصر مختلف در این نوع مجموعه ها مشاهده خواهید کرد. استفاده از حلقه iterate برای پیمایش عناصر دیکشنری در این زبان برنامه نویسی یکی از مهمترین مزیت هاست و برای دسترسی به مقادیر و کلیدها باید از دو روش مجزا استفاده کنید.

برای دسترسی به کلیدهای یک دیکشنری، باید از حلقه for به صورت زیر استفاده کنید.

Dictionary = {"name": "john", "job": "engineer", "age": 30}

for x in Dictionary:

   print(x) #prints name job age

البته دسترسی به مقادیر نیز به راحتی امکان پذیر است و با تابع مقدار این زبان می توانید به آنها دسترسی داشته باشید.

Dictionary = {"name": "john", "job": "engineer", "age": 30}

for x in Dictionary.values():

   print(x) #prints john engineer 30

اگر می خواهید به طور همزمان به کلیدها و مقادیر یک دیکشنری دسترسی داشته باشید و عملیات Python Iterator را روی آن انجام دهید، این کار با عملکرد آیتم ها به صورت زیر امکان پذیر است.

Dictionary = {"name": "john", "job": "engineer", "age": 30}

for x,y in Dictionary.items():

   print(x,y)

##prints 

name john

job engineer

age 30

مزایای استفاده از Iterator در پایتون

اگر بتوانید مرورگرهای پایتون را یاد بگیرید، قابلیت های منحصر به فردی در این زبان به دست خواهید آورد. مزایای استفاده از Iterator در پایتون فقط یک یا دو مورد نیست و همچنین می‌توانید از تکرارکننده‌ها در پایتون برای تجزیه فایل‌ها و خواندن و نوشتن آن‌ها، علاوه بر عملیات ناوبری در عناصر مجموعه استفاده کنید.

به عنوان مثال، یک اسکریپت پایتون و یک فایل متنی دلخواه در یک پوشه جداگانه ایجاد کنید. با استفاده از دستور with و حلقه for به راحتی می توانید خط به خط به محتویات فایل مورد نظر دسترسی داشته باشید.

with open("/home/sajjad/Documents/temp/file.txt") as myfile:

   for line in myfile:

       print(line) #prints all lines of file.txt

پس از فراخوانی فایل مورد نظر، روش دوم استفاده از دستور iter و next است که به شما امکان می دهد به راحتی به خطوط مختلف فایل انتخابی دسترسی داشته باشید.

with open("/home/sajjad/Documents/temp/file.txt") as myfile:

   myiter = iter(myfile)

   print(next(myiter))

   print(next(myiter))

   print(next(myiter))

   print(next(myiter))

   print(next(myiter))

نتیجه

تابع Iterator در پایتون یک مزیت بزرگ است و با این تابع می توانید حتی فایل های بزرگ با مجموعه های بزرگ را فراخوانی کنید. اگر نیاز به نوشتن یک مجموعه یا فایل خط به خط در پایتون دارید، یادگیری Iterator در پایتون مفید خواهد بود. همچنین برای کسب اطلاعات بیشتر در مورد Iterator در پایتون به وب سایت w3schools مراجعه کنید. اگر در حین اجرا و استفاده از این مزیت مشکل یا سوالی داشتید، خوشحال می شویم در ادامه این مقاله آن را با ما در میان بگذارید.