سلام
کسی میتونه دلیل اینکه خروجی کد زیر اعداد 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 رو قرار دادم ، اگر بجاش خود لیست و میذاشتم کل اعضاش چاپ میشدن ولی توی این حالت یکی در میون چاپ شدن ، برام این مسئله سواله
در کدی که نوشتهاید، از ایتریتور برای پیمایش لیست استفاده کردهاید. اما به دلیل استفاده از next(it_list1) در داخل حلقه for، هر بار که حلقه اجرا میشود، دو عنصر از لیست پیمایش میشود. به همین دلیل، فقط عناصر با اندیسهای فرد لیست چاپ میشوند.
یعنی شما اولین عنصر رو وارد حلقه میکنید، دستور next میگه بعدیش (یعنی دومین عنصر) رو نمایش بده. پس الان تا عنصر دوم استفاده شد. در دور بعد حلقه، عنصر سوم رو وارد میکنه و با next، عنصر چهارم رو نشون میده و به همین ترتیب تا آخر پیش میره.
یعنی خروجی شما میشه عنصر دوم، چهارم، ششم و... .
اندیس اولین عنصر شما صفر هست.
پس یعنی اندیس عنصر دوم میشه 1، عنصر چهارم میشه 3، عنصر ششم میشه 5 و... .
یعنی مقدار اندیس های 1، 3، 5 و ... رو نمایش میده.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟