Python Range

Python range adalah arithmetic progression of integers. Dibuat dengan constructor range(). Perlu diperhatikan, end value adalah end-1. Untuk lebih jelas silakan lihat code dibawah.

range(start, end, step)
>>> range(5)
range(0, 5)
>>> for i in range(5):
...     print(i)
...
0
1
2
3
4
>>> range(5, 10)
range(5, 10)
>>> list(range(5, 10))
[5, 6, 7, 8, 9]
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]

Range adalah Python collection yang jarang dipakai, karena banyak obyek collection dari python sudah dapat diiterasi tanpa menggunakan range. Jadi jangan abuse penggunaan range, apa yang dimaksud abuse penggunaan range, silakan lihat contoh dibawah

>>> s = [0, 1, 2, 4, 6]
>>> for i in range(len(s)):
...     print(s[i])
...
0
1
2
4
6

Lebih baik menggunakan cara dibawah untuk melakukan iterasi isi dari s.

>>> s = [0, 1, 2, 4, 6]
>>> for v in s:
...     print(v)
...
0
1
2
4
6

Jika membutuhkan counter, lebih baik gunakan enumerate function

>>> t = [6, 372, 812, 2120]
>>> for p in enumerate(t):
...     print(p)
...
(0, 6)
(1, 372)
(2, 812)
(3, 2120)
>>> for i, v in enumerate(t):
...     print("i = {}, v = {}".format(i, v))
...
i = 0, v = 6
i = 1, v = 372
i = 2, v = 812
i = 3, v = 2120
Sharing is caring: