در حال بارگزاری

آموزش تابع enumerate در پایتون (Python)

شما اینجا هستید:
آموزش تابع enumerate در پایتون (Python)

آموزش تابع enumerate در پایتون (Python)

تابع enumerate یک تابع از پیش‌ساخته شده و موجود در خود برنامه (Built-in) در پایتون (python) است! در ادامه با چند مثال، به طور کامل با این تابع آشنا میشیم! اما اگر باشه یه توضیح کلی در مورد نحوه کار این تابع بدم (هرچند که شاید هنوز متوجه نشید، ولی آخر این مطلب قشنگ متوجه میشین!): تابع enumerate برای یک لیست، عناصر و اندیس‌های آن را با هم در نظر می‌گیرد! (لطفا تا آخر مطلب بخونین، واقعاً نمیشه در یک خط توضیح داد!)

مثال 1

فرض کنید لیستی داریم به صورت زیر!:

a=["Mohammad","Ali","Hasan","Hossein"]

و فرض کنید پیش خودمون می‌گیم ای کاش یه تابعی می‌بود که مثلاً میگفت: عنصر با اندیس 1 لیست شما، Mohammad است! عنصر با اندیس 2 لیست شما، Ali است و …!

خبر خوش اینکه همچین تابعی هست! تابع enumerate هم شماره اندیس (index) و هم خود مقدار (value) رو ذخیره می‌کنه و نمایش میده! مثلاً برای همین مثال خودمون اگر بنویسیم!:

print(list(enumerate(a)))

توجه کنید که کد بالا، میایم با تابع list، خود enumerate رو به لیست تبدیل می‌کنیم، بعد چاپش می‌کنیم!

که خروجی عبارت است از:

[(0, 'Mohammad'), (1, 'Ali'), (2, 'Hasan'), (3, 'Hossein'), (4, 'Sajjad')]

همانطور که می‌بینید، نوشته شده!:

اندیس 0: Mohammad

اندیس 1: Ali

اندیس 2: Hasan

و الی آخر…!

اما یه چیزی!: شاید پیش خودتون بگید، این که خیلی بده که اندیس رو از صفر شروع میکنه! من دوست دارم از یک شروع کنه اندیس گذاری رو!

جواب اینه که این تابع، اصلاً فراتر از این رو برای شما فراهم میکنه! شما می‌تونید به این تابع بگید که حتی از چه اندیسی شروع کنه به اندیس گذاری! که این رو در مثال دوم بررسی می‌کنیم!

مثال 2

حالا این دفعه فرض کنید، می‌خوایم همون لیست مثال 1 رو، enumerate بکنیم، منتهی این دفعه می‌خوایم از اندیس 1 شروع کنه به اندیس گذاری! پس اینجوری می‌نویسیم!

print(list(enumerate(a,1)))

که خروجی این قطعه کد به صورت خواهد بود!:

[(1, 'Mohammad'), (2, 'Ali'), (3, 'Hasan'), (4, 'Hossein')]

 در واقع این‌بار هم دقیقاً مشابه مثال یک است، با این تفاوت که اندیس‌گذاری از یک شروع می‌شود!

خب واقعیت اینه که آموزش ما همین‌جا تمومه! اما برای اینکه چندتا مثال دیگه از این مبحث ببینیم و این مبحث رو با مبحث های دیگه هم یکم قاطی کنیم!! می‌خوایم چندتا مثال دیگه هم باهم کار کنیم!

کمی پُرکاری…

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

مثال 3

قطعه کد زیر را در نظر بگیرید:

a=["Mohammad","Ali","Hasan","Hossein"]
for i,j in enumerate(a,2):
    print(i,j)

خروجی آن به شرح زیر خواهد بود!: [توجه کنید که در کد بالا اندیس‌گذاری رو از 2 در نظر گرفتیم!]

2 Mohammad
3 Ali
4 Hasan
5 Hossein

مثال 4

a="Koolac"
for i, v in enumerate(a):
    print("{}) {}".format(i,v*3))

حروجی!:

0) KKK
1) ooo
2) ooo
3) lll
4) aaa
5) ccc

مثال 5

a="Koolac"
[print(v*i) for i, v in enumerate(a,1)]

خروجی!:

K
oo
ooo
llll
aaaaa
cccccc

 

مطالب مرتبط

رسم scatter plot (نمودار پراکنش) سه بعدی در پایتون در این آموزش به صورت ساده و روان به...

آموزش تابع nonzero در numpy پایتون (اندیس اعداد غیر صفر آرایه) به طور خیلی خلاصه تابع nonzero از...

جزئیات نوشته
تعداد دیدگاه 3
تعداد بازدید 15.6K
تاریخ انتشار 19/03/2019
تاریخ بروزرسانی 19/03/2019
نویسنده گروه آموزشی کولاک
برای ارسال دیدگاه ابتداواردشوید