Dalam for
loop Python yang berulang pada daftar kita bisa menulis:
for item in list:
print item
dan itu dengan rapi melewati semua elemen dalam daftar. Apakah ada cara untuk mengetahui dalam loop berapa kali saya telah mengulang sejauh ini? Misalnya, saya ingin mengambil daftar dan setelah saya memproses sepuluh elemen saya ingin melakukan sesuatu dengan mereka.
Alternatif yang saya pikirkan adalah sesuatu seperti:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
Atau:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
Apakah ada cara yang lebih baik (seperti halnya for item in list
) untuk mendapatkan jumlah iterasi sejauh ini?
Jawaban:
Cara pythonic adalah dengan menggunakan
enumerate
:sumber
Setuju dengan Nick. Berikut ini adalah kode yang lebih rumit.
Saya telah mengomentari variabel jumlah dalam kode Anda.
sumber
enumerate
opsionalstart
untuk mulai menghitung dengan 1 bukan 0, meskipun kemudian saya akan menggunakan nama OPcount
bukanidx
.Saya tahu pertanyaan yang agak lama tapi .... menemukan sesuatu yang lain jadi saya mencoba:
sumber
Menggunakan fungsi zip kita bisa mendapatkan elemen dan indeks.
Lihat juga :
Python.org
sumber
Coba gunakan
itertools.count([n])
sumber