Apa itu Range Python?
Python range () adalah fungsi bawaan yang tersedia dengan Python dari Python (3.x), dan memberikan urutan angka berdasarkan indeks awal dan penghentian yang diberikan. Jika indeks awal tidak diberikan, indeks dianggap 0, dan itu akan menambah nilai sebesar 1 hingga indeks berhenti.
Misalnya range (5) akan menghasilkan nilai 0,1,2,3,4. Python range () adalah perintah yang sangat berguna dan sebagian besar digunakan ketika Anda harus mengulang menggunakan for loop.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu Range Python?
- Sintaksis
- Range () Python Fungsi dan sejarah
- Menggunakan range ()
- Menggunakan start dan stop dalam range ()
- Menggunakan start, stop dan step
- Menambah nilai dalam rentang menggunakan langkah positif.
- Reverse Range: Mengurangi nilai menggunakan langkah negatif.
- Menggunakan angka mengambang dalam rentang Python ()
- Menggunakan for-loop dengan Python range ()
- Menggunakan rentang Python () sebagai daftar
- Menggunakan karakter dalam rentang python ()
- Cara Mengakses Elemen Rentang
- Contoh: Dapatkan bilangan genap menggunakan range ()
- Menggabungkan keluaran dua rentang ()
- Menggunakan range () Dengan NumPy
Sintaksis
range(start, stop, step)
Parameter
- start: (opsional) Indeks awal adalah bilangan bulat, dan jika tidak diberikan, nilai defaultnya adalah 0.
- stop: Indeks berhenti memutuskan nilai di mana fungsi rentang harus berhenti. Ini adalah input wajib untuk fungsi jangkauan. Nilai terakhir akan selalu 1 kurang dari nilai berhenti.
- langkah: (opsional). Nilai langkah adalah angka di mana angka berikutnya adalah kisaran harus ditambah, secara default, itu adalah 1.
Nilai pengembalian:
Nilai yang dikembalikan adalah urutan angka dari indeks awal hingga berhenti yang diberikan.
Range () Python Fungsi dan sejarah
Range Python () telah diperkenalkan dari python versi 3, sebelum itu xrange () adalah fungsinya.
Range dan xrange () digunakan untuk menghasilkan urutan angka.
Berikut adalah perbedaan antara range dan xrange ():
jarak() | xrange () |
Range () memberikan urutan angka dan mengembalikan daftar angka. | Fungsi xrange () memberikan objek generator yang perlu diulang dalam loop-for untuk mendapatkan nilainya. |
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, itu tidak memberikan nilai secara instan dan harus digunakan di dalam for-loop untuk mendapatkan nilainya. |
Penggunaan memori lebih banyak sehingga eksekusi kode menjadi lambat saat mengerjakan kumpulan data yang sangat besar. | Eksekusi kode lebih cepat menggunakan xrange (). |
Menggunakan range ()
Contoh ini menunjukkan cara mencetak nilai dari 0-9 menggunakan range ().
Nilai yang digunakan dalam range adalah 10, sehingga keluarannya adalah 0 1 2 3 4 5 6 7 8 9
Karena start tidak diberikan start dianggap sebagai 0 dan nilai terakhir diberikan sampai 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 start dan stop dalam range ()
Dalam kode, nilai awal adalah 3, dan nilai berhenti adalah 10. Di sini indeks awal adalah 3, sehingga urutan angka akan mulai dari 3 hingga nilai berhenti. Nilai terakhir dalam urutan akan menjadi 1 lebih kecil dari nilai berhenti 10-1 = 9.
for i in range(3, 10):print(i, end =" ")
Keluaran:
3 4 5 6 7 8 9
Menggunakan start, stop dan step
Nilai awal adalah 3, sehingga urutan angka akan dimulai dari 3. Nilai berhenti adalah 10, sehingga 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 untuk langkah default ke 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 tambahan untuk nilai stop yang diberikan. Sekarang mari kita coba contoh untuk mendapatkan nilai yang dikurangi dalam kisaran yang diberikan.
Menambah nilai dalam rentang menggunakan langkah positif.
Langkah parameter dalam range () dapat digunakan untuk menaikkan / menurunkan nilai. Secara default, ini adalah nilai positif 1. Jadi itu akan selalu memberikan nilai tambahan.
Nilai langkah harus positif jika Anda ingin nilai bertambah sebagai ouput.
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 berkurang. Pada contoh di bawah nilai langkah adalah negatif sehingga output akan dikurangi dari nilai kisaran 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 fungsi input range () di atas akan mengurangi nilai dari 15 dan seterusnya sampai mencapai nilai stop, tetapi di sini perbedaannya adalah nilai terakhir akan berhenti + 1.
Menggunakan angka mengambang dalam rentang Python ()
Sekarang mari kita bekerja pada 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, infor 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 memulai, berhenti dan langkah.
Menggunakan for-loop dengan Python range ()
Dalam contoh ini kita akan menggunakan array angka dan, mari kita lihat bagaimana 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 kami telah menggunakan len (arr_list) sebagai nilai stop. Perulangan for akan mengulang sampai nilai stop yaitu panjang array dan itu akan menjadi 4, karena kita memiliki empat item dalam arr_list. Nilai awal akan menjadi 0 dan langkah akan menjadi 1. Jadi nilai akan dimulai dari 0 dan akan berhenti pada 3 yaitu panjang larik -1 yang berarti 4 -1 = 3.
Menggunakan rentang Python () sebagai daftar
Dalam contoh ini akan melihat bagaimana menggunakan output dari range sebagai 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 bisa langsung mengonversi output dari format range ke list.
Menggunakan karakter dalam rentang python ()
Sejauh ini, kami telah menggunakan bilangan bulat di python range (). Kami juga telah melihat bahwa bilangan floating-point tidak didukung dalam kisaran python. Mari kita coba dan lihat hasilnya seperti 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, infor c in range ('z'):TypeError: 'str' object cannot be interpreted as an integer
Ini melempar kesalahan yang mengatakan bahwa string tidak dapat diartikan sebagai integer.
Untuk mendapatkan daftar alfabet Anda dapat menyesuaikan kode dan mendapatkan output 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 range atau menggunakan indeks untuk mengakses elemen dari range ().
Menggunakan for-loop
Contoh:
for i in range(6):print(i)
Keluaran:
012345
Menggunakan index
Indeks digunakan dengan range untuk mendapatkan nilai yang tersedia pada posisi itu. Jika nilai range adalah 5, untuk mendapatkan nilai awal dapat menggunakan range (5) [0] dan range 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:
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)
Menggunakan list ()
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: Dapatkan bilangan genap menggunakan range ()
Menggunakan range () akan mendapatkan daftar bilangan genap dalam rentang yang diberikan sebagai input. Parameter untuk range () adalah, start 2, stop 20, dan step 2, jadi nilai akan bertambah 2 dan akan memberikan angka genap sampai 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 itertools module chain ().
Contoh:
from itertools import chainprint("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 one0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Menggunakan range () Dengan NumPy
Modul NumPy memiliki fungsi arange () yang bekerja dan memberikan keluaran serupa seperti range (). Arrange () mengambil parameter yang sama seperti range ().
Sintaksis:
arange(start, stop, step)
Untuk bekerja dengan NumPy ikuti langkah-langkah yang diberikan di bawah ini.
Langkah 1 : Impor modul NumPy
import numpy
Memetikan saat eksekusi, ini memberikan 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 npfor 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:
Rentang yang kita inginkan adalah dari 0,5 hingga 1,5. Nilainya akan bertambah 0,2.
import numpy as npfor 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 kami dapatkan sedikit aneh, beberapa angka float ditampilkan dengan 16 tempat desimal. Ini terjadi karena kompleksitas penyimpanan bilangan mengambang desimal ke dalam format biner. Anda juga dapat membulatkan nilai jika diperlukan dan membatasinya ke tempat desimal yang Anda butuhkan.
Ringkasan:
- Python range () adalah fungsi bawaan yang tersedia dengan Python dari Python (3.x), dan memberikan urutan angka berdasarkan indeks awal dan penghentian yang diberikan. Jika indeks awal tidak diberikan, indeks dianggap sebagai 0, dan itu akan menaikkan nilainya sampai indeks berhenti.
- Range Python () telah diperkenalkan dari python versi 3, sebelum itu xrange () adalah fungsinya.
- Range () memberikan urutan angka dan mengembalikan daftar angka. Fungsi xrange () memberikan objek generator yang perlu diulang dalam loop-for untuk mendapatkan nilainya.
- Langkah parameter dalam range () dapat digunakan untuk menaikkan / menurunkan nilai. Secara default, ini adalah nilai positif 1. Jadi itu akan selalu memberikan nilai tambahan.
- Python memberikan kesalahan untuk bilangan floating-point karena fungsi range () hanya mendukung nilai integer.
- Nilai dari range () dapat diakses menggunakan for-loop, menggunakan index dan list ()
- Modul NumPy memiliki fungsi arange () yang bekerja 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 ().