Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Fungsi range() Python: Dari Dasar hingga Kasus Lanjutan

Apa Itu Python range?

range() Python adalah generator bawaan yang menghasilkan urutan bilangan bulat berdasarkan start, stop, dan step opsional. Jika nilai start dihilangkan, defaultnya adalah 0, dan urutan bertambah 1 hingga mencapai nilai stop (eksklusif). Misalnya, range(5) menghasilkan 0, 1, 2, 3, 4. Fungsi ini tak tergantikan saat mengulang dengan loop for.

Dalam tutorial ini Anda akan mempelajari:

Sintaks

 range(start, stop, step) 

Parameter

Nilai Kembali

Mengembalikan objek range, yang berperilaku seperti urutan bilangan bulat yang tidak dapat diubah. Saat dikonversi ke list, ia menampilkan urutan lengkap.

Fungsi range() Python dan Sejarah

Diperkenalkan di Python 3, range() menggantikan xrange() yang lebih lama yang digunakan di Python 2. Perbedaan utama diringkas di bawah ini:

range()xrange()
Mengembalikan urutan angka yang tidak dapat diubah.Mengembalikan objek generator.
Mengonsumsi memori proporsional dengan panjang urutan.Menggunakan memori minimal; menghasilkan nilai secara malas.
Cocok untuk rentang kecil hingga menengah.Disukai untuk rentang besar atau urutan tak terbatas.
Lebih lambat pada rentang sangat besar karena alokasi memori.Lebih cepat saat mengulang rentang besar.

Menggunakan range()

Berikut adalah contoh dasar yang mencetak angka dari 0 hingga 9:

 for i in range(10): print(i, end =" ") 

Output:

 0 1 2 3 4 5 6 7 8 9 

Menggunakan start dan stop dalam range()

Menentukan nilai start menggeser urutan:

 for i in range(3, 10): print(i, end =" ") 

Output:

 3 4 5 6 7 8 9 

Menggunakan start, stop, dan step

Dengan menambahkan step, Anda dapat mengontrol interval antara angka:

 for i in range(3, 10, 2): print(i, end =" ") 

Output:

 3 5 7 9 

Menaikkan nilai dengan step positif

Step default adalah 1, tetapi Anda dapat menentukan bilangan bulat positif apa pun:

 for i in range(1, 30, 5): print(i, end =" ") 

Output:

 1 6 11 16 21 26 

Rentang Terbalik: Menurunkan dengan step negatif

Memberikan step negatif membuat urutan menurun:

 for i in range(15, 5, -1): print(i, end =" ") 

Output:

 15 14 13 12 11 10 9 8 7 6 

Menggunakan angka desimal dalam Python range()

range() bawaan hanya menerima bilangan bulat. Mencoba melewatkan desimal memicu TypeError:

 for i in range(10.5): print(i, end =" ") 

Output:

 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 

Menggunakan loop for dengan Python range()

Range sering dipasangkan dengan len() untuk mengulang indeks list:

 arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ") 

Output:

 Mysql Mongodb PostgreSQL Firebase 

Menggunakan Python range() sebagai list

Mengonversi range ke list adalah mudah:

 print(list(range(10))) 

Output:

 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

Menggunakan karakter dalam python range()

Sementara range() hanya bekerja dengan bilangan bulat, Anda dapat menghasilkan urutan alfabet dengan mengonversi karakter ke titik kode Unicode:

 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))) 

Output:

 ['a', 'b', 'c', 'd', 'e', 'f', 'g'] 

Cara Mengakses Elemen Range

Anda dapat mengambil nilai melalui iterasi, pengindeksan, atau konversi ke list:

Iterasi

 for i in range(6): print(i) 

Output:

 0 1 2 3 4 5 

Pengindeksan

 startvalue = range(5)[0] print("Elemen pertama dalam range adalah = ", startvalue) secondvalue = range(5)[1] print("Elemen kedua dalam range adalah = ", secondvalue) lastvalue = range(5)[-1] print("Elemen terakhir dalam range adalah = ", lastvalue) 

Output:

 Elemen pertama dalam range adalah = 0 Elemen kedua dalam range adalah = 1 Elemen terakhir dalam range adalah = 4 

Menggunakan list()

 print(list(range(10))) 

Output:

 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

Contoh: Dapatkan bilangan genap menggunakan range()

Untuk menghasilkan bilangan genap hingga 18:

 for i in range(2, 20, 2): print(i, end =" ") 

Output:

 2 4 6 8 10 12 14 16 18 

Menggabungkan dua output range()

Menggabungkan dua objek range dapat dilakukan dengan itertools.chain:

 from itertools import chain print("Menggabungkan dua range menjadi satu") frange = chain(range(10), range(10, 20, 1)) for i in frange: print(i, end =" ") 

Output:

 Menggabungkan dua range menjadi satu 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

Menggunakan range() Dengan NumPy

arange() NumPy mencerminkan range() tetapi mendukung step desimal:

Sintaks

 arange(start, stop, step) 

Contoh

 import numpy as np for i in np.arange(10): print(i, end =" ") 

Output:

 0 1 2 3 4 5 6 7 8 9 

Rentang desimal dengan NumPy

 for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ") 

Output:

 0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998 

Karena aritmetika desimal adalah biner, output kadang-kadang menunjukkan perluasan desimal panjang. Anda dapat membulatkan nilai sesuai kebutuhan.

Ringkasan

Python

  1. Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default
  2. Fungsi Lambda Python: Panduan Praktis untuk Fungsi Anonim
  3. Python Generators: Iterasi Efisien dan Kasus Penggunaan Lanjutan
  4. Menguasai Fungsi Lambda Python: Contoh Praktis & Praktik Terbaik
  5. Fungsi abs() Python: Menghitung Nilai Absolut untuk Angka & Bilangan Kompleks
  6. Fungsi round() Python Dijelaskan dengan Contoh Praktis
  7. Menguasai Fungsi range() Python: Dari Dasar hingga Kasus Lanjutan
  8. Menguasai Fungsi map() Python: Sintaks, Contoh, dan Praktik Terbaik
  9. Menguasai enumerate() Python: Loop dengan Indeks untuk List, Tuple, String, dan Dictionary
  10. Python list.count(): Panduan Ahli dengan Contoh Praktis