Python xrange vs. range

Python Xrange Vs Range



Hingga versi Python 2.x, ada total dua metode dasar yang digunakan dalam bahasa ini untuk menghasilkan daftar bilangan bulat dalam rentang yang disediakan. Kedua metode tercantum di bawah ini:

jangkauan ()
rentang x()







Ke depan, dengan versi terbaru Python (3 dan seterusnya), range () ditarik, dan xrange () kemudian diubah menjadi range (). Sekarang di Python 3, hanya ada satu fungsi untuk metode ini, yaitu range(). Dalam Python 3, fungsi range () hanyalah cara lain untuk mengimplementasikan versi lama xrange() dari python 2.x. Di sini, kami akan menghubungkan keduanya.



Xrange ()

The xrange () digunakan untuk membuat urutan angka seperti fungsi range ().



Sintaksis

Sintaks yang digunakan untuk mendefinisikan xrange() adalah:





xrange(Mulailah,akhir,melangkah)

Fungsi ini digunakan untuk menentukan rentang angka mulai dari (disertakan) hingga akhir (tidak disertakan).

Parameter

Berikut adalah daftar parameter yang diperlukan:



 Mulai: Posisi awal urutan angka
 End: Posisi akhir dari urutan angka
 Langkah: Perbedaan antara dua angka berurutan dalam deret.

Contoh

Dalam contoh berikut, kita akan memeriksa cara untuk mendefinisikan xrange.

Di sini, kita akan menentukan posisi akhir saja.

Jadi, nilai akhir ditetapkan sebagai 5, dan kemudian kita mendapatkan posisi akhir yang dicetak, seperti yang ditunjukkan di bawah ini:

Sekarang, kita akan melihat metode jangkauan panggilan, sintaks untuk memanggil akhir adalah:

>>>x= xrange(akhir)

Kemudian kami akan mencetaknya.

Kami akan mendapatkan rentang dalam output, seperti yang ditunjukkan di atas.

Sekarang, kita akan mendefinisikan titik awal dan titik akhir. Di sini, titik awal adalah 2, dan titik akhir adalah 5. Kami kemudian mencetak posisi awal dan akhir, seperti yang ditunjukkan di bawah ini:

Setelah ini, kami akan membuat urutan angka dari titik awal dan akhir kami, yaitu 2 hingga 5.

>>>dan= xrange(Mulailah,akhir)

Akhirnya, kita akan memeriksa metode mendefinisikan titik awal, langkah, dan titik akhir. Setelah kami mendefinisikan ketiga parameter; kita akan memanggil mereka mirip dengan metode yang ditunjukkan di bawah ini:

Sekarang, untuk memanggil xrange untuk ketiga parameter ini, kita akan menggunakan sintaks berikut:

>>>Dengan= xrange(Mulailah,melangkah,akhir)

Jangkauan ()

Range () digunakan untuk membuat daftar dan merupakan fungsi yang lebih cepat untuk beberapa iterasi.

Sintaksis

Sintaks berikut digunakan:

>>> jangkauan(Mulailah,akhir,melangkah)

Contoh

Untuk kasus pertama, kita akan mendefinisikan nilai akhir. Sintaks yang digunakan untuk ini adalah:

>>> jangkauan(akhir)

Jadi, dalam contoh yang diberikan di bawah ini, kita akan menggunakan 3 sebagai nilai akhir rentang. Saat kami mencetaknya, ia mengembalikan nilai, tidak termasuk nilai akhir.

Dalam contoh berikutnya, kami menggunakan contoh yang menggambarkan titik awal dan akhir. Nilai akan dimulai dari 1 dan berakhir pada 10 (dengan mengecualikannya). Titik awal disertakan, tetapi titik akhir dihilangkan. Sintaksnya mirip dengan yang diberikan di bawah ini:

>>> jangkauan (Mulailah,akhir)

Jadi, kami mendefinisikan titik awal dan kemudian titik akhir, yang masing-masing adalah 1 dan 10.

Sekarang, dalam contoh berikutnya, kita akan memiliki fungsi langkah. Fungsi yang mendefinisikan jarak antara dua titik dalam barisan. Nilai akan dimulai dari 0 dan berakhir pada 10 (dengan mengecualikannya). Sintaks yang digunakan diberikan di bawah ini:

>>> jangkauan (Mulailah,melangkah,akhir)

Contoh diberikan di bawah ini, di mana 2 adalah nilai langkah.

Keuntungan

jangkauan ()

Lebih cepat jika iterasi dilakukan beberapa kali. range () hanya memiliki nilai objek integer waktu nyata. Dalam hal memori, itu tidak berjalan dengan baik.

rentang x()

Itu harus membuat ulang objek integer setiap saat. xrange() tidak karena tidak mendukung metode irisan dan daftar. xrange() mengambil jumlah memori yang sama. Jadi, sejauh menyangkut kinerja, terutama ketika pengguna mengulangi nilai rentang yang lebih besar, xrange() berkinerja jauh lebih baik.

Kesamaan antara rentang Python 2 dan Python 3 dan xrange

Xrange Python 2 memiliki representasi deskriptif dalam bentuk string, yang sangat mirip dengan nilai objek range Python 3.

Nilai xrange() dalam Python 2 dapat diubah, begitu juga rang() dalam Python 3.

xrange() dan range() keduanya memiliki nilai langkah, akhir, dan titik awal. Dalam kedua kasus, langkah adalah bidang opsional, begitu juga nilai awal.

Baik xrange Python 2 dan 3 mendukung panjang yang dapat diindeks dalam urutan maju atau mundur. Berikut adalah contoh yang sama:

Perbedaan antara range() dan xrange()

Karena xrange() mengevaluasi hanya objek generator dengan nilai yang dibutuhkan oleh lazy evaluation, maka lebih cepat untuk mengimplementasikannya melalui range(). range() membantu mengembalikan daftar dan memiliki semua objek yang dapat digunakan, sedangkan xrange() mengembalikan objek yang terkait dengan daftar dan tidak dapat diterapkan padanya sehingga kita dapat menghitungnya sebagai kerugian.

Variabel yang digunakan dalam fungsi range() menyimpan nilai range dan dengan demikian membutuhkan banyak memori dibandingkan dengan xrange() yang hanya membutuhkan sebagian memori karena variabel. range() mengembalikan objek range sedangkan xrange() mengembalikan objek generator.

Fungsi range (1, 7, 2) akan mengembalikan output [1, 3, 5] dan input xrange (1, 7, 2) akan menghasilkan output [1, 3, 5]. Begitulah cara kita dapat mengasumsikan bahwa mereka serupa dalam polanya.

Kesimpulan

range() dan xrange() keduanya memiliki karakteristik yang berbeda, seperti yang dibahas di atas. Semua perbandingan yang disebutkan dalam tutorial ini, bersama dengan contoh, akan membantu pembaca untuk memilih metode yang lebih disukai berdasarkan kebutuhan mereka.