Python range() Fungsi: Float, List, For loop Contoh
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 menampilkan nilai 0,1,2,3,4 .The Python range() adalah perintah yang sangat berguna dan sebagian besar digunakan ketika Anda harus mengulangi menggunakan for loop.
Sintaksis
range(start, stop, step)
Parameters
- Mulailah: (opsional) Indeks awal adalah bilangan bulat, dan jika tidak diberikan, nilai defaultnya adalah 0.
- berhenti: Indeks stop menentukan nilai di mana fungsi rentang harus dihentikan. Ini adalah input wajib untuk fungsi rentang. Nilai terakhir akan selalu lebih kecil 1 dari nilai stop.
- langkah: (opsional). Nilai langkah adalah angka yang rentang angka berikutnya harus ditambah, secara default 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 sejak python versi 3, sebelumnya xrange() adalah fungsinya.
Baik range maupun xrange() digunakan untuk menghasilkan serangkaian angka.
Berikut ini adalah 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, ia tidak memberikan nilai secara instan dan harus digunakan di dalam for-loop untuk mendapatkan nilai. |
Penggunaan memori lebih banyak sehingga eksekusi kode menjadi lambat saat mengerjakan kumpulan data yang besar. | Eksekusi kode lebih cepat menggunakan xrange(). |
Menggunakan rentang()
Contoh ini menunjukkan cara mencetak nilai dari 0-9 menggunakan range().
Nilai yang digunakan pada range adalah 10, sehingga outputnya adalah 0 1 2 3 4 5 6 7 8 9
Karena permulaan tidak diberikan maka permulaan dianggap sebagai 0 dan nilai terakhir diberikan sampai 9. Nilai terakhir selalu 1 lebih kecil 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, jadi urutan angka akan dimulai dari 3 hingga nilai akhir. Nilai terakhir dalam urutan akan dikurangi 1 dari nilai akhir 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 awalnya adalah 3, jadi urutan angka akan dimulai dari angka 3. Nilai akhirnya adalah 10, jadi urutan angka akan berhenti di (10-1) yaitu 9. Langkahnya adalah 2, jadi setiap nilai dalam urutan akan bertambah 2. Jika nilai langkah tidak diberikan, nilai langkahnya akan menjadi 1 secara default.
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 tambahan untuk nilai penghentian yang diberikan. Sekarang mari kita coba sebuah contoh untuk mendapatkan nilai yang dikurangi dalam rentang yang diberikan.
Menambah nilai dalam rentang menggunakan langkah positif.
Langkah parameter dalam range() dapat digunakan untuk menambah/mengurangi nilai. Secara default, nilainya positif 1. Jadi akan selalu memberikan nilai yang bertambah.
Nilai langkah harus positif jika Anda ingin nilai tambahan sebagai keluaran.
for i in range(1, 30, 5): print(i, end =" ")
Keluaran:
1 6 11 16 21 26
Reverse Range: Mengurangi nilai menggunakan langkah negatif
Langkah parameter dengan nilai negatif dalam range() dapat digunakan untuk mendapatkan nilai yang dikurangi. Pada contoh di bawah ini nilai langkahnya negatif sehingga keluarannya akan dikurangi dari nilai rentang 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 berhenti adalah 5 dan nilai langkah adalah angka negatif yaitu -1. Dengan input di atas range() fungsi akan mengurangi nilai dari 15 dan seterusnya hingga mencapai nilai stop, tetapi di sini perbedaannya adalah nilai terakhir adalah stop + 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 =" ")
Dalam contoh di atas kami telah menggunakan nilai stop sebagai 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 memberikan kesalahan karena fungsi range() tidak mendukung angka floating-point untuk awal, akhir, dan langkah.
Menggunakan for-loop dengan Python jarak()
Dalam contoh ini kita akan menggunakan array angka dan, mari kita lihat cara menggunakan iterasi array di dalam for-loop menggunakan range()
Contoh:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
Keluaran:
MysqlMongodb PostgreSQL Firebase
Dalam contoh di atas kita telah menggunakan len(arr_list) sebagai nilai stop. Perulangan for akan berulang hingga nilai berhenti yaitu panjang array dan itu akan menjadi 4, karena kita memiliki empat item di arr_list. Nilai awalnya adalah 0 dan langkahnya adalah 1. Jadi nilainya akan dimulai dari 0 dan berhenti di 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()
Menggunakan range() akan mendapatkan daftar angka genap dalam rentang yang diberikan sebagai input. Parameter untuk range() adalah, start adalah 2, stop adalah 20, dan step adalah 2, sehingga nilai akan bertambah 2 dan akan memberikan angka 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 akan menggabungkan 2 fungsi range() dengan bantuan fungsi rantai() 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 berfungsi dan memberikan keluaran serupa seperti range(). Arrange() mengambil parameter yang sama seperti range().
sintaks:
arange(start, stop, step)
Untuk bekerja dengan NumPy ikuti langkah-langkah yang diberikan di bawah ini.
Langkah 1: Impor modul NumPy
import numpy
Jika saat dijalankan, muncul kesalahan yang mengatakan modul numpy tidak ditemukan, Anda perlu menginstal modul seperti yang ditunjukkan pada langkah 2.
Langkah 2: Instal 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 floating point menggunakan range(), tetapi dimungkinkan menggunakan NumPy arange().
Contoh:
Kisaran yang kita inginkan adalah dari 0.5 hingga 1.5. Nilainya akan bertambah 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
Output yang kita dapatkan agak aneh, beberapa angka float ditampilkan dengan 16 angka desimal. Hal ini terjadi karena rumitnya penyimpanan angka float desimal ke dalam format biner. Anda juga dapat membulatkan nilai jika diperlukan dan membatasinya ke angka desimal yang Anda butuhkan.
Kesimpulan
- 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 hingga indeks akhir.
- Python range() telah diperkenalkan dari python versi 3, sebelum itu xrange() adalah fungsinya.
- Fungsi range() memberikan urutan angka dan mengembalikan daftar angka. Fungsi xrange() memberikan objek generator yang perlu di-loop dalam for-loop untuk mendapatkan nilai.
- Langkah parameter dalam range() dapat digunakan untuk menambah/mengurangi nilai. Secara default, nilainya positif 1. Jadi akan selalu memberikan nilai yang bertambah.
- Python memberikan kesalahan untuk angka floating-point karena fungsi range() hanya mendukung nilai integer.
- Nilai dari range() dapat diakses menggunakan for-loop, menggunakan indeks dan list()
- Modul NumPy memiliki fungsi arange() yang berfungsi dan memberikan keluaran serupa seperti range(). Arange() mengambil parameter yang sama dengan range().
- Dimungkinkan untuk mendapatkan urutan floating-point NumPy arange() yang tidak didukung menggunakan range().