Menggunakan fungsi enumerate() Python, anda boleh mendapatkan nombor indeks (kiraan, susunan) serta unsur-unsur objek boleh lelaran seperti senarai atau tuple dalam gelung for.
Artikel ini menerangkan asas fungsi enumerate().
- Berfungsi untuk mendapatkan indeks dalam gelung for:
enumerate()
- Biasa untuk gelung
- Untuk gelung menggunakan fungsi enumerate().
- Mulakan indeks fungsi enumerate() pada 1 (nilai bukan sifar)
- Nyatakan kenaikan (langkah)
Fungsi enumerate() boleh digunakan untuk mendapatkan indeks dalam gelung for.
Biasa untuk gelung
l = ['Alice', 'Bob', 'Charlie']
for name in l:
print(name)
# Alice
# Bob
# Charlie
Untuk gelung menggunakan fungsi enumerate().
Tentukan objek boleh lelaran seperti senarai sebagai hujah bagi fungsi enumerate().
Anda boleh mendapatkan nombor indeks dan elemen dalam susunan itu.
for i, name in enumerate(l):
print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie
Mulakan indeks fungsi enumerate() pada 1 (nilai bukan sifar)
Seperti yang ditunjukkan dalam contoh di atas, secara lalai, indeks fungsi enumerate() bermula dari 0.
Jika anda ingin bermula dengan nombor selain daripada 0, tentukan nombor permulaan arbitrari sebagai argumen kedua bagi fungsi enumerate().
Untuk bermula dari awal, lakukan perkara berikut.
for i, name in enumerate(l, 1):
print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie
Sudah tentu, anda boleh mulakan dengan nombor lain.
for i, name in enumerate(l, 42):
print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie
Berguna apabila anda ingin mencipta rentetan bernombor berurutan; adalah lebih bijak untuk menentukan nombor permulaan sebagai hujah kedua bagi fungsi enumerate() daripada menggunakan ‘i+1’ untuk bermula dari 1.
for i, name in enumerate(l, 1):
print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie
Lihat artikel berikut untuk mendapatkan maklumat lanjut tentang fungsi format, yang digunakan untuk mengisi nombor dengan sifar.
- Artikel berkaitan:Mengeluarkan sifar terisi, nombor perenambelasan, dsb. dengan fungsi format() Python
Nyatakan kenaikan (langkah)
Tiada hujah untuk menentukan langkah tambahan dalam fungsi enumerate(), tetapi ia boleh dicapai dengan melakukan perkara berikut
step = 3
for i, name in enumerate(l):
print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie