Python range() Fungsi: Float, List, For loop Contoh
⚡ Ringkasan Cerdas
Python `range()` adalah fungsi bawaan yang menghasilkan urutan bilangan bulat yang tidak dapat diubah dari nilai awal hingga, tetapi tidak termasuk, nilai akhir, menggunakan langkah opsional untuk mengontrol penambahan.

Apa itu Python Jangkauan?
Python range() adalah fungsi bawaan yang tersedia Python dari Python (3.x), dan memberikan urutan angka berdasarkan indeks awal dan akhir yang diberikan. Jika indeks awal tidak diberikan, indeks dianggap sebagai 0, dan akan menambah nilai sebesar 1 hingga indeks akhir.
Misalnya, range(5) akan menghasilkan nilai 0, 1, 2, 3, 4. Python Fungsi `range()` adalah perintah yang sangat berguna dan sebagian besar digunakan ketika Anda harus melakukan iterasi menggunakan untuk loop.
Sintaksis
Sintaks fungsi range() ditunjukkan di bawah ini:
range(start, stop, step)
Parameter Teknis
- Mulailah: (opsional) Indeks awal adalah bilangan bulat, dan jika tidak diberikan, nilai defaultnya adalah 0.
- berhenti: Indeks berhenti menentukan nilai di mana fungsi rentang harus berhenti. Ini adalah input wajib untuk fungsi rentang. Nilai terakhir akan selalu 1 kurang dari nilai berhenti.
- langkah: (opsional) Nilai langkah adalah angka yang digunakan untuk menambah angka berikutnya dalam rentang; secara default, nilainya adalah 1.
Nilai kembali
Nilai yang dikembalikan adalah urutan angka dari indeks awal hingga akhir yang diberikan.
Python range() Fungsi dan sejarah
Python range() telah diperkenalkan dari Python versi 3; sebelumnya, fungsi yang digunakan adalah xrange().
Baik fungsi range() maupun xrange() digunakan untuk menghasilkan urutan angka.
Berikut perbedaan antara range() dan xrange():
| jarak() | rentang x() |
|---|---|
| Range() memberikan urutan angka dan mengembalikan daftar angka. | Fungsi xrange() memberikan objek generator yang perlu diulang dalam for-loop untuk mendapatkan nilai. |
| Range() mengembalikan daftar. | xrange() mengembalikan objek generator. |
| Metode range() menggunakan lebih banyak memori karena daftar yang dikembalikan harus disimpan dibandingkan dengan xrange(). | Karena xrange() mengembalikan objek generator, fungsi ini tidak memberikan nilai secara instan dan harus digunakan di dalam perulangan for untuk mendapatkan nilainya. |
| Penggunaan memori lebih besar, sehingga eksekusi kode menjadi lambat saat memproses kumpulan data yang sangat besar. | Eksekusi kode lebih cepat menggunakan xrange(). |
Menggunakan rentang()
Contoh ini menunjukkan cara mencetak nilai dari 0-9 menggunakan range().
Nilai yang digunakan dalam rentang adalah 10, sehingga outputnya adalah 0 1 2 3 4 5 6 7 8 9.
Karena nilai awal tidak diberikan, nilai awal dianggap sebagai 0 dan nilai terakhir diberikan hingga 9. Nilai terakhir selalu 1 kurang dari nilai yang diberikan, yaitu stop-1.
for i in range(10): print(i, end =" ")
Keluaran:
0 1 2 3 4 5 6 7 8 9
Menggunakan mulai dan berhenti dalam rentang()
Dalam kode tersebut, nilai awal adalah 3, dan nilai akhir adalah 10. Di sini indeks awal adalah 3, sehingga urutan angka akan dimulai dari 3 hingga nilai akhir. Nilai terakhir dalam urutan tersebut akan 1 kurang dari nilai akhir, yaitu 10-1 = 9.
for i in range(3, 10): print(i, end =" ")
Keluaran:
3 4 5 6 7 8 9
Menggunakan mulai, berhenti dan langkah
Nilai awal adalah 3, jadi urutan angka akan dimulai dari 3. Nilai akhir adalah 10, jadi urutan angka akan berhenti di (10-1), yaitu 9. Langkahnya adalah 2, jadi setiap nilai dalam urutan akan ditambah 2. Jika nilai langkah tidak diberikan, nilai langkah akan secara otomatis menjadi 1.
for i in range(3, 10, 2): print(i, end =" ")
Keluaran:
3 5 7 9
Sejauh ini, kita telah melihat bagaimana fungsi range() memberikan nilai yang bertambah untuk nilai berhenti yang diberikan. Sekarang mari kita coba contoh untuk mendapatkan nilai yang berkurang dalam rentang yang diberikan.
Meningkatkan nilai dalam rentang menggunakan langkah positif.
Parameter `step` dalam fungsi `range()` dapat digunakan untuk menambah atau mengurangi nilai. Secara default, nilainya positif, yaitu 1. Jadi, nilai yang diberikan akan selalu bertambah.
Nilai langkah harus positif jika Anda menginginkan nilai yang bertambah sebagai output.
for i in range(1, 30, 5): print(i, end =" ")
Keluaran:
1 6 11 16 21 26
Reverse Rentang: Mengurangi nilai menggunakan langkah negatif
Parameter `step` dengan nilai negatif pada fungsi `range()` dapat digunakan untuk mendapatkan nilai yang dikurangi. Pada contoh di bawah ini, nilai `step` adalah negatif, sehingga output akan dikurangi dari nilai `range` yang diberikan.
for i in range(15, 5, -1): print(i, end =" ")
Keluaran:
15 14 13 12 11 10 9 8 7 6
Nilai awal adalah 15, nilai akhir adalah 5, dan nilai langkah adalah angka negatif, yaitu -1. Dengan input di atas, fungsi range() akan mengurangi nilai dari 15 hingga mencapai nilai akhir, tetapi perbedaannya di sini adalah nilai terakhir akan menjadi nilai akhir + 1.
Menggunakan angka mengambang di Python jarak()
Sekarang mari kita kerjakan range() menggunakan angka floating-point.
Contoh:
for i in range(10.5): print(i, end =" ")
Pada contoh di atas, kita menggunakan nilai stop loss sebesar 10.5.
Outputnya adalah:
Traceback (most recent call last): File "python_range.py", line 1, in <module> for i in range(10.5): TypeError: 'float' object cannot be interpreted as an integer
Python akan menampilkan kesalahan karena fungsi range() tidak mendukung bilangan floating-point untuk start, stop, dan step.
Menggunakan for-loop dengan Python jarak()
Dalam contoh ini, kita akan menggunakan array angka dan melihat bagaimana cara mengulang array di dalam perulangan for menggunakan fungsi range().
Contoh:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
Keluaran:
MysqlMongodb PostgreSQL Firebase
Pada contoh di atas, kita menggunakan len(arr_list) sebagai nilai berhenti. Perulangan for akan berulang hingga nilai berhenti, yaitu panjang array, yang akan menjadi 4, karena kita memiliki empat item dalam arr_list. Nilai awal akan menjadi 0 dan langkahnya adalah 1, sehingga nilai akan dimulai dari 0 dan akan berhenti pada 3, yaitu panjang array - 1, artinya 4 - 1 = 3.
Menggunakan Python range() sebagai daftar
Dalam contoh ini kita akan melihat bagaimana menggunakan output dari range sebagai sebuah daftar.
Contoh:
print(list(range(10)))
Keluaran:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Anda dapat melihat outputnya adalah format daftar. Tidak perlu mengulang range() dan menggunakan metode list() kita dapat langsung mengonversi output dari format range ke format daftar.
Menggunakan karakter dalam rentang python()
Sejauh ini, kita telah menggunakan bilangan bulat dalam python range(). Kita juga telah melihat bahwa angka floating-point tidak didukung dalam python range. Mari kita coba dan lihat output tentang apa yang terjadi ketika kita menggunakan karakter.
Contoh:
for c in range ('z'):
print(c, end =" ")
Keluaran:
Traceback (most recent call last):
File "python_range.py", line 1, in <module>
for c in range ('z'):
TypeError: 'str' object cannot be interpreted as an integer
Itu menimbulkan kesalahan yang mengatakan string tidak dapat ditafsirkan sebagai bilangan bulat.
Untuk mendapatkan daftar huruf, Anda dapat menyesuaikan kode dan mendapatkan keluaran yang diinginkan seperti yang ditunjukkan di bawah ini:
Contoh:
def get_alphabets(startletter, stopletter, step):
for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):
yield chr(c)
print(list(get_alphabets("a", "h", 1)))
Keluaran:
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Cara Mengakses Elemen Rentang
Anda dapat menggunakan for-loop untuk mendapatkan nilai dari rentang atau menggunakan indeks untuk mengakses elemen dari rentang().
Menggunakan for-loop
Contoh:
for i in range(6):
print(i)
Keluaran:
0 1 2 3 4 5
Menggunakan indeks
Indeks digunakan dengan rentang untuk mendapatkan nilai yang tersedia pada posisi tersebut. Jika nilai rentangnya adalah 5, untuk mendapatkan nilai awal, Anda dapat menggunakan rentang(5)[0] dan rentang nilai berikutnya(5)[1] dan seterusnya.
Contoh:
startvalue = range(5)[0]
print("The first element in range is = ", startvalue)
secondvalue = range(5)[1]
print("The second element in range is = ", secondvalue)
lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)
Keluaran:
The first element in range is = 0 The second element in range is = 1 The first element in range is = 4
Menggunakan daftar()
Metode ini akan mencetak semua elemen dari range(). Menggunakan list() itu akan mengembalikan elemen dari range() dalam format daftar.
Contoh:
print(list(range(10)))
Keluaran:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ini memberikan keluaran daftar untuk rentang yang diberikan.
Contoh: Mendapatkan angka genap menggunakan range()
Dengan menggunakan fungsi `range()`, Anda akan mendapatkan daftar bilangan genap dalam rentang yang diberikan sebagai input. Parameter untuk `range()` adalah: `start` adalah 2, `stop` adalah 20, dan `step` adalah 2, sehingga nilainya akan ditambah 2 dan akan menghasilkan bilangan genap hingga `stop-2`.
Contoh:
for i in range(2, 20, 2): print(i, end =" ")
Keluaran:
2 4 6 8 10 12 14 16 18
Menggabungkan keluaran dua rentang()
Dalam contoh ini, kita akan menggabungkan 2 fungsi range() dengan bantuan fungsi chain() dari modul itertools.
Contoh:
from itertools import chain print("Merging two range into one") frange =chain(range(10), range(10, 20, 1)) for i in frange: print(i, end=" ")
Keluaran:
Merging two range into one 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Menggunakan rentang() Dengan NumPy
Modul NumPy memiliki fungsi arange() yang bekerja dan memberikan output serupa seperti range(). Fungsi arange() menerima parameter yang sama dengan range().
sintaks:
arange(start, stop, step)
Untuk menggunakan NumPy, ikuti langkah-langkah di bawah ini.
Langkah 1: Impor modul NumPy
import numpy
Jika saat eksekusi muncul kesalahan yang menyatakan modul numpy tidak ditemukan, Anda perlu menginstal modul tersebut seperti yang ditunjukkan pada langkah 2.
Langkah 2Instal NumPy
pip install numpy
Langkah 3: Contoh Kerja arange() menggunakan NumPy
import numpy as np for i in np.arange(10): print(i, end =" ")
Keluaran:
0 1 2 3 4 5 6 7 8 9
Angka floating point menggunakan NumPy arange()
Tidak mungkin mendapatkan urutan bilangan floating-point menggunakan fungsi range(), tetapi hal itu dimungkinkan menggunakan fungsi arange() pada NumPy.
Contoh:
Rentang yang kita inginkan adalah dari 0.5 hingga 1.5. Nilai tersebut akan ditambah dengan 0.2.
import numpy as np for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ")
Keluaran:
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998
Hasil yang kita dapatkan agak aneh; beberapa angka floating point ditampilkan dengan 16 tempat desimal. Hal ini terjadi karena kompleksitas penyimpanan angka floating point desimal dalam format biner. Anda juga dapat membulatkan nilai jika diperlukan dan membatasinya hingga jumlah tempat desimal yang Anda butuhkan.
