چگونه می‌توانیم در پایتون به مقدار اندیس در حلقه 'for' دسترسی پیدا کنیم؟

mohsen1 سال قبل1 سال قبل
ارسال شده در
python

در پایتون، برای این کار می‌توان از تابع داخلی enumerate() استفاده کرد که یک شی قابل تکرار تولید می‌کند که هر بار یک چندتایی (Tuple) شامل اندیس و عنصر را برمی‌گرداند.

برای مثال، اگر بخواهیم بر روی لیست زیر در حلقه استفاده کنیم:

      xs = [8, 23, 45]

    

می‌توانیم از enumerate() به صورت زیر استفاده کنیم:

      for index, x in enumerate(xs, start=1):
    print("item #{} = {}".format(index, x))

    

در اینجا، با تعیین مقدار start=1، اندیس از 1 آغاز می‌شود و خروجی به شکل زیر خواهد بود:

      item #1 = 8
item #2 = 23
item #3 = 45

    

نکتهٔ حائز اهمیت این است که در پایتون اندیس ها معمولاً از 0 شروع می‌شوند و این موضوع ممکن است برخی مواقع باعث سردرگمی شود. در مواردی که می‌خواهید اندیش ها را از 1 بشمارید، استفاده از start=1 راه‌حلی مناسب است.

راه حل دیگر به جای استفاده از enumerate(), می توان از range(len(xs)) استفاده کرد. با این حال، استفاده از enumerate() نه تنها کد را تمیز و خواناتر می‌کند، بلکه به بهبود عملکرد نیز کمک می‌کند.

      for index in range(len(xs)):
    print("item #{} = {}".format(index + 1, xs[index]))

    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!