Dalam artikel ini, Anda akan belajar untuk mengulangi urutan elemen menggunakan variasi for loop yang berbeda.
Perulangan for dalam Python digunakan untuk mengulangi urutan (daftar, tuple, string) atau objek iterable lainnya. Mengulangi urutan disebut traversal.
Loop berlanjut sampai kita mencapai item terakhir dalam urutan. Tubuh for loop dipisahkan dari kode lainnya menggunakan indentasi.
Contoh:Python untuk Loop
# Program to find the sum of all numbers stored in a list
# List of numbers
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# variable to store the sum
sum = 0
# iterate over the list
for val in numbers:
sum = sum+val
print("The sum is", sum)
Saat Anda menjalankan program, outputnya adalah:
The sum is 48
Fungsi range()
Kami dapat menghasilkan urutan angka menggunakan range()
fungsi. range(10)
akan menghasilkan angka dari 0 hingga 9 (10 angka).
Kami juga dapat menentukan ukuran mulai, berhenti, dan langkah sebagai range(start, stop,step_size)
. step_size default ke 1 jika tidak disediakan.
range
objek "malas" dalam arti karena tidak menghasilkan setiap nomor yang "berisi" saat kita membuatnya. Namun, ini bukan iterator karena mendukung in
, len
dan __getitem__
operasi.
Fungsi ini tidak menyimpan semua nilai dalam memori; itu akan menjadi tidak efisien. Jadi ia mengingat awal, berhenti, ukuran langkah, dan menghasilkan nomor berikutnya saat bepergian.
Untuk memaksa fungsi ini menampilkan semua item, kita dapat menggunakan fungsi list()
.
Contoh berikut akan memperjelas hal ini.
print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))
Keluaran
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]
Kita dapat menggunakan range()
fungsi di for
loop untuk beralih melalui urutan angka. Itu dapat digabungkan dengan len()
berfungsi untuk beralih melalui urutan menggunakan pengindeksan. Ini contohnya.
# Program to iterate through a list using indexing
genre = ['pop', 'rock', 'jazz']
# iterate over the list using index
for i in range(len(genre)):
print("I like", genre[i])
Keluaran
I like pop
I like rock
I like jazz
untuk loop dengan else
Sebuah for
loop dapat memiliki else
opsional blok juga. else
part dieksekusi jika item dalam urutan yang digunakan dalam for loop habis.
Kata kunci break dapat digunakan untuk menghentikan perulangan for. Dalam kasus seperti itu, bagian lain diabaikan.
Oleh karena itu, bagian else dari loop for akan berjalan jika tidak ada break yang terjadi.
Berikut adalah contoh untuk menggambarkan hal ini.
digits = [0, 1, 5]
for i in digits:
print(i)
else:
print("No items left.")
Saat Anda menjalankan program, outputnya adalah:
0
1
5
No items left.
Di sini, for loop mencetak item dari daftar hingga loop habis. Ketika for loop habis, ia mengeksekusi blok kode di else
dan mencetak
Tidak ada item yang tersisa.
Ini for...else
pernyataan dapat digunakan dengan break
kata kunci untuk menjalankan else
blokir hanya jika break
kata kunci tidak dieksekusi. Mari kita ambil contoh:
# program to display student's marks from record
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
if student == student_name:
print(marks[student])
break
else:
print('No entry with that name found.')
Keluaran
No entry with that name found.