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.

  • 🔘 sintaks: range(start, stop, step) menerima hingga tiga argumen bilangan bulat, di mana start secara default adalah 0 dan step secara default adalah 1.
  • ☑️ Pemberhentian eksklusif: Urutan selalu berhenti satu nilai sebelum indeks berhenti, jadi rentang(5) menghasilkan 0 sampai 4.
  • Kontrol langkah: Langkah positif akan menambah nilai, sedangkan langkah negatif akan menghitung mundur untuk rentang terbalik.
  • 🧪 Batasan tipe: Hanya bilangan bulat yang diterima, sehingga argumen bilangan pecahan atau string akan menimbulkan TypeError.
  • Angka desimal NumPy: Fungsi arange() NumPy memperluas perilaku range() ke urutan bilangan floating-point.
  • 🤖 Alur kerja AI: Kode pembelajaran mesin mengandalkan fungsi `range()` untuk mengulang epoch pelatihan, mini-batch, dan grid hyperparameter.

Python rentang() Fungsi

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.

Pertanyaan Umum Demo Slot

In Python 3. Fungsi `range()` mengembalikan objek `range` yang bersifat malas (lazy) dan tidak dapat diubah (immutable), bukan sebuah daftar (list). Fungsi ini menghasilkan angka sesuai permintaan. Bungkus fungsi ini dengan `list(range(n))` ketika daftar yang sebenarnya dibutuhkan. Python 2 mengembalikan daftar lengkap.

Nilai stop bersifat eksklusif sehingga range(len(items)) dipetakan dengan rapi ke indeks berbasis nol. Untuk menyertakan titik akhir, tambahkan satu ke stop, misalnya range(1, 11) untuk menghitung dari 1 hingga 10.

Tidak. Memanggil range(0, 10, 0) akan menimbulkan ValueError: argumen 3 range() tidak boleh nol, karena langkah nol tidak akan pernah mencapai nilai berhenti dan akan berulang selamanya. Gunakan langkah positif atau negatif sebagai gantinya.

Fungsi `range()` menolak bilangan floating point, tetapi list comprehension dapat menskalakan bilangan bulat: `[x * 0.5 for x in range(0, 6)]` menghasilkan 0.0 hingga 2.5. Ini menghindari impor NumPy sambil tetap melakukan penskalaan langkah.ping melalui nilai desimal.

Ya. Objek range hanya menyimpan nilai awal, akhir, dan langkahnya, sehingga range(1000000) menggunakan jumlah memori yang sangat kecil dan konstan yang sama dengan range(10). Nilai dihitung satu per satu selama iterasi.

Gunakan operator in: 5 in range(0, 10) mengembalikan True. Untuk objek range, Python Melakukan pengujian keanggotaan ini dengan perhitungan cepat dalam waktu konstan daripada memindai setiap elemen, sehingga tetap efisien pada rentang yang sangat besar.

Kode pembelajaran mesin menggunakan `range()` untuk mengulang epoch pelatihan, mengiterasi mini-batch, dan membangun grid hyperparameter. Fungsi `arange()` dan `linspace()` pada NumPy memperluas fungsi ini ke rentang floating-point untuk jadwal laju pembelajaran dan pengujian ambang batas yang umum dalam eksperimen AI.

Ya. Asisten pengkodean AI seperti GitHub Copilot secara otomatis melengkapi perulangan berbasis range() dari komentar atau nama fungsi, dan alat berbasis agen dapat memfaktorkan ulang perulangan indeks menjadi pola enumerate() atau pemahaman yang lebih bersih, meskipun batasan yang dihasilkan masih perlu ditinjau ulang.

Ringkaslah postingan ini dengan: