هادی
5 ماه پیش توسط هادی مطرح شد
2 پاسخ

سوال پایتون

سلام
کسی میتونه دلیل اینکه خروجی کد زیر اعداد list1 به صورت یکی درمیون هست؟

list1=[12,34,78,45,24,987,76,44]

it_list1=iter(list1)

for  i  in  it_list1:
    print(next(it_list1))
#OUTPUT>>> 
34
45
987
44

چرا اعضای list 1 یکی در میون چاپ شدن؟ بعد ا ز in ایتریتور itlist1 رو قرار دادم ، اگر بجاش خود لیست و میذاشتم کل اعضاش چاپ میشدن ولی توی این حالت یکی در میون چاپ شدن ، برام این مسئله سواله


ثبت پرسش جدید
محمدجواد
@Sahramaj 4 ماه پیش مطرح شد
0

در کدی که نوشته‌اید، از ایتریتور برای پیمایش لیست استفاده کرده‌اید. اما به دلیل استفاده از next(it_list1) در داخل حلقه for، هر بار که حلقه اجرا می‌شود، دو عنصر از لیست پیمایش می‌شود. به همین دلیل، فقط عناصر با اندیس‌های فرد لیست چاپ می‌شوند.

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

یعنی خروجی شما میشه عنصر دوم، چهارم، ششم و... .
اندیس اولین عنصر شما صفر هست.
پس یعنی اندیس عنصر دوم میشه 1، عنصر چهارم میشه 3، عنصر ششم میشه 5 و... .

یعنی مقدار اندیس های 1، 3، 5 و ... رو نمایش میده.


هادی
تخصص : android developer
@jessie.rdk 4 ماه پیش مطرح شد
0

خیلی ممنونم از پاسخگوییتون کامل متوجه شدم❤️


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام