butiran

py iterable for list range

Dalam Python loop dengan for digunakan untuk proses berkelanjutan yang berurutan (sequential traversal) seperti pengulangan pada suatu iterable seperti string, tuple, list, array dan lainnya, yang termasuk dalam kategori iterasi terdefinisi [ 1 ]. Terdapat perbedaan antara range dan list, yang sejak Python 3.x range tidak lagi memproduksi list sehingga elemen-elemennya tidak lagi memerlukan memori untuk menyimpannya, melainkan hanya dibuat on the fly saat iterasi dilakukan, sehingga proses iterasinya menjadi lebih cepat [ 2 ].

for

For pada Python dapat digunakan dengan bentuk

for var in iterable

dengan variabel var akan berisikan elemen-elemen pada iterable yang disampaikan satu per satu, di mana

x = [3, 2, 1]
for i in x:
	print(i)

merupakan salah satu contohnya, yang akan menampilkan semua elemen dari x pada konsol satu per baris. Pada contoh di atas var adalah i dan iterable adalah x, serta elemen-elemen x adalah 3, 2, dan 1. Contoh ini dapat dijalankan di 3xmrsn6v8 .

range

Range pada Python, yang berfungsi untuk membuat variabel immutable berisi urutan angka, bersifat inklusif [ 3 ] yang berarti bahwa argumen kedua stop tidak terikutkan dalam range yang dihasilkan, sedangkan argumen pertama star terikutkan, yang bentuk penggunaannya adalah

range(start, stop[, step])

dengan contoh

print(list(range(1, 11, 2)))

akan menghasilkan [1, 3, 5, 7, 9] dengan 11 tidak diikutsertakan. Coba contoh ini di 3xmrufzxt . Terdapat penjelasan yang baik mengenai range() dengan disertai visualisasi yang menarik [ 4 ].

example

Dapat digunakan range, list, dan list terbuat dari range sebagai iterable pada loop for, dengan masing-masing variabelnya adalah ra, li, dan lira, sebagaimana tersajikan pada kode berikut ini

# python 3.9.1

# 0292-a.py
# Range and list for iteration
# 20211219
# Sparisoma Viridi | github.com/dudung
# url bugx.vercel.app/pages/0292.html
# ref

# Define a range
ra = range(0, 12, 2)
print(ra)
print(type(ra))
for i in ra:
    print(i)
print()

# Define a list
li = [0, 2, 4, 6, 8, 10]
print(li)
print(type(li))
for i in li:
    print(i)
print()

# Define a list from a range
lira = list(ra)
print(lira)
print(type(lira))
for i in lira:
    print(i)
print()

yang dapat dijalankan di 3xmrrdhp6 dan akan memberikan

range(0, 12, 2)

0
2
4
6
8
10

[0, 2, 4, 6, 8, 10]

0
2
4
6
8
10

[0, 2, 4, 6, 8, 10]

0
2
4
6
8
10

sebagai hasilnya.

exer

  1. Bagaimana nilai-nilai i bila digunakan pada range(0, 6, 1)?
  2. Kode range(5, -1, -1) akan menghasilkan iterable dengan nilai-nilai berapa saja?
  3. Mengapa range() dikatakan bersifat inklusif?
  4. Modifikasi range(1, 7, 2) agar dihasilkan 1, 3, 5, 7. Manfaatkan contoh di 3xmrvkd7g bila diperlukan.
  5. Bila x merupakan suatu range dan ingin dibuat menjadi list dalam variabel bernama y, bagaimana caranya?

note

  1. nikhilaggarwal3, ankushgarg1998 balajikawle777, “Python For Loops”, GeeksforGeeks, 25 Aug 2021, url https://www.geeksforgeeks.org/python-for-loops/ [20211219].
  2. Anand S Kumar, “Answer to ‘What is the difference between “range(0,2)” and “list(range(0,2))”?’”, Stack Overflow, 5 Jul 2015, url https://stackoverflow.com/a/31227578 [20211218].
  3. Krunal, “Python Range Inclusive: Why Range Does Not Include End”, AppDivident, 24 Mar 2021, url https://appdividend.com/2021/03/24/python-range-inclusive/ [20211219].
  4. Vishal Hule, “Python range() Explained with Examples”, PYnative, 16 Jun 2021, url https://pynative.com/python-range-function/ [20211219].

comments

 

{% comment %} {% endcomment %}