Python range() Fonksiyonu: Float, List, For döngüsü Örnekleri
⚡ Akıllı Özet
Python `range()` fonksiyonu, başlangıç değerinden bitiş değerine kadar (bitiş değeri dahil değil) değişmez bir tamsayı dizisi üreten ve artışı kontrol etmek için isteğe bağlı bir `step` parametresi kullanan yerleşik bir fonksiyondur.

Nedir? Python Menzil?
Python range(), aşağıdakilerle kullanılabilen yerleşik bir işlevdir: Python itibaren Python (3.x) ve verilen başlangıç ve bitiş indeksine göre bir sayı dizisi verir. Başlangıç indeksi verilmediği takdirde, indeks 0 olarak kabul edilir ve bitiş indeksine kadar değeri 1 artırır.
Örneğin, range(5) 0, 1, 2, 3, 4 değerlerini çıktı olarak verecektir. Python `range()` komutu çok kullanışlıdır ve çoğunlukla bir döngü kullanarak yineleme yapmanız gerektiğinde kullanılır. döngü için.
Sözdizimi
`range()` fonksiyonunun sözdizimi aşağıda gösterilmiştir:
range(start, stop, step)
Parametreler
- başlatın: (isteğe bağlı) Başlangıç dizini bir tamsayıdır ve belirtilmezse varsayılan değer 0'dır.
- durdurmak: Durdurma indeksi, aralık fonksiyonunun durması gereken değeri belirler. Aralık fonksiyonuna girilmesi zorunlu bir değerdir. Son değer her zaman durdurma değerinden 1 eksik olacaktır.
- adım: (İsteğe bağlı) Adım değeri, aralıktaki bir sonraki sayının artırılacağı sayıdır; varsayılan olarak 1'dir.
Geri dönüş değeri
Dönüş değeri, verilen başlangıçtan bitiş dizinine kadar olan bir sayı dizisidir.
Python range() İşlev ve tarihçe
Python range()'dan tanıtıldı Python Sürüm 3; öncesinde xrange() fonksiyonu kullanılıyordu.
Hem `range()` hem de `xrange()` fonksiyonları sayı dizisi üretmek için kullanılır.
Aşağıda `range()` ve `xrange()` fonksiyonları arasındaki farklar verilmiştir:
| Aralık() | xaralık() |
|---|---|
| range(), sayıların sırasını verir ve sayıların bir listesini döndürür. | xrange() fonksiyonu, değerleri almak için for döngüsünde döndürülmesi gereken bir üreteç nesnesi verir. |
| range() bir liste döndürür. | xrange() bir üreteç nesnesi döndürür. |
| range() yöntemi, döndürülen listenin xrange() yöntemine kıyasla saklanması gerektiğinden daha fazla bellek kullanır. | xrange() bir jeneratör nesnesi döndürdüğü için değerleri anında vermez ve değerleri almak için bir for döngüsü içinde kullanılmalıdır. |
| Büyük veri kümeleriyle çalışırken bellek kullanımı daha fazla olur, dolayısıyla kod yürütme hızı yavaşlar. | Kod yürütme xrange() kullanılarak daha hızlıdır. |
range() kullanımı
Bu örnek, range() kullanılarak 0-9 arası değerlerin nasıl yazdırılacağını gösterir.
Aralıkta kullanılan değer 10 olduğundan, çıktı 0 1 2 3 4 5 6 7 8 9 olur.
Başlangıç değeri verilmediği için başlangıç 0 olarak kabul edilir ve son değer 9'a kadar verilir. Son değer her zaman verilen değerden 1 eksiktir, yani stop-1.
for i in range(10): print(i, end =" ")
Çıktı:
0 1 2 3 4 5 6 7 8 9
Range() içinde başlatma ve durdurmayı kullanma
Kodda başlangıç değeri 3, bitiş değeri ise 10'dur. Burada başlangıç indeksi 3 olduğundan, sayı dizisi 3'ten başlayıp bitiş değerine kadar devam edecektir. Dizideki son değer, bitiş değerinden 1 eksik olacaktır, yani 10-1 = 9.
for i in range(3, 10): print(i, end =" ")
Çıktı:
3 4 5 6 7 8 9
Başlat, durdur ve adımı kullanma
Başlangıç değeri 3'tür, bu nedenle sayı dizisi 3'ten başlayacaktır. Bitiş değeri 10'dur, bu nedenle sayı dizisi (10-1), yani 9'da duracaktır. Adım değeri 2'dir, bu nedenle dizideki her değer 2 artırılacaktır. Adım değeri verilmezse, adım değeri varsayılan olarak 1 olur.
for i in range(3, 10, 2): print(i, end =" ")
Çıktı:
3 5 7 9
Şimdiye kadar, range() fonksiyonunun verilen durdurma değeri için artırılmış değeri nasıl verdiğini gördük. Şimdi de verilen aralıkta azaltılmış değeri elde etmek için bir örnek deneyelim.
Aralıktaki değerleri pozitif bir adım kullanarak artırma
`range()` fonksiyonundaki `step` parametresi, değerleri artırmak veya azaltmak için kullanılabilir. Varsayılan olarak pozitif bir değer olan 1'dir. Bu nedenle her zaman artırılmış değerler verecektir.
Artan değerler çıktısı almak istiyorsanız, adım değerinin pozitif olması gerekir.
for i in range(1, 30, 5): print(i, end =" ")
Çıktı:
1 6 11 16 21 26
Reverse Aralık: Negatif adım kullanarak değerleri azaltma
`range()` fonksiyonunda negatif bir değerle kullanılan `step` parametresi, azalan değerler elde etmek için kullanılabilir. Aşağıdaki örnekte, `step` değeri negatiftir, bu nedenle çıktı, verilen `range` değerinden azalarak elde edilecektir.
for i in range(15, 5, -1): print(i, end =" ")
Çıktı:
15 14 13 12 11 10 9 8 7 6
Başlangıç değeri 15, bitiş değeri 5 ve adım değeri negatif bir sayı, yani -1'dir. Yukarıdaki girdilerle, range() fonksiyonu 15'ten başlayarak bitiş değerine ulaşana kadar değeri azaltacaktır, ancak buradaki fark, son değerin stop + 1 olmasıdır.
Yüzen sayıların kullanımı Python Aralık()
Şimdi kayan noktalı sayıları kullanarak range() üzerinde çalışalım.
Örnek:
for i in range(10.5): print(i, end =" ")
Yukarıdaki örnekte, durdurma değeri olarak 10.5'i kullandık.
Çıktı:
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 `range()` fonksiyonu `start`, `stop` ve `step` değerleri için ondalık sayıları desteklemediğinden hata verir.
for döngüsünün kullanılması Python Aralık()
Bu örnekte, bir sayı dizisi kullanacağız ve range() fonksiyonunu kullanarak bir for döngüsü içinde diziyi nasıl yineleyeceğimizi göreceğiz.
Örnek:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
Çıktı:
MysqlMongodb PostgreSQL Firebase
Yukarıdaki örnekte, durdurma değeri olarak len(arr_list) kullandık. For döngüsü, durdurma değerine, yani dizinin uzunluğuna kadar devam edecektir; bu da arr_list'te dört öğe olduğu için 4 olacaktır. Başlangıç değeri 0 ve adım 1 olacaktır, bu nedenle değerler 0'dan başlayacak ve 3'te, yani dizinin uzunluğu - 1'de duracaktır; bu da 4 - 1 = 3 anlamına gelir.
kullanma Python range() bir liste olarak
Bu örnekte range çıktısının bir liste halinde nasıl kullanılacağını göreceğiz.
Örnek:
print(list(range(10)))
Çıktı:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Çıktının bir liste formatı olduğunu görebilirsiniz. range() işlevini döngüye almak gerekli değildi ve list() yöntemini kullanarak çıktıyı doğrudan aralıktan liste biçimine dönüştürebildik.
Python aralığındaki karakterleri kullanma()
Şu ana kadar python range()'da tamsayıları kullandık. Python aralığında kayan noktalı sayıların desteklenmediğini de gördük. Karakterleri kullandığımızda ne olacağına dair çıktıyı deneyelim ve görelim.
Örnek:
for c in range ('z'):
print(c, end =" ")
Çıktı:
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
Bir dizenin tam sayı olarak yorumlanamayacağını söyleyen bir hata veriyor.
Alfabelerin listesini almak için kodu özelleştirebilir ve aşağıda gösterildiği gibi istediğiniz çıktıyı alabilirsiniz:
Örnek:
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)))
Çıktı:
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Menzil Öğelerine Nasıl Erişilir
Aralıktan değerleri almak için for döngüsünden yararlanabilir veya range() öğesinden öğelere erişmek için dizini kullanabilirsiniz.
For döngüsünü kullanma
Örnek:
for i in range(6):
print(i)
Çıktı:
0 1 2 3 4 5
Dizini kullanma
İndeks, o konumda mevcut olan değeri elde etmek için range ile birlikte kullanılır. Aralık değeri 5 ise, başlangıç değerini elde etmek için aralık(5)[0] ve sonraki değer aralığı(5)[1] vb.'yi kullanabilirsiniz.
Örnek:
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)
Çıktı:
The first element in range is = 0 The second element in range is = 1 The first element in range is = 4
list()'i kullanma
Bu yöntem range()'daki tüm öğeleri yazdıracaktır. list() işlevini kullanarak range() öğesindeki öğeleri liste biçiminde döndürür.
Örnek:
print(list(range(10)))
Çıktı:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Verilen aralık için liste çıktısını verir.
Örnek: range() işlevini kullanarak çift sayıları elde edin
`range()` fonksiyonu, girdi olarak verilen aralıktaki çift sayıların listesini alır. `range()` fonksiyonunun parametreleri şunlardır: `start` 2, `stop` 20 ve `step` 2; bu nedenle değerler 2 artırılacak ve `stop-2`'ye kadar çift sayılar verecektir.
Örnek:
for i in range(2, 20, 2): print(i, end =" ")
Çıktı:
2 4 6 8 10 12 14 16 18
İki aralıklı () çıktıların birleştirilmesi
Bu örnekte, itertools modülünün chain() fonksiyonu yardımıyla 2 adet range() fonksiyonunu birleştireceğiz.
Örnek:
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=" ")
Çıktı:
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
NumPy ile range() işlevini kullanma
NumPy modülünde, range() fonksiyonuna benzer şekilde çalışan ve benzer çıktılar veren bir arange() fonksiyonu bulunur. arange() fonksiyonu, range() fonksiyonuyla aynı parametreleri alır.
Sözdizimi:
arange(start, stop, step)
NumPy ile çalışmak için aşağıdaki adımları izleyin.
1. Adım: NumPy modülünü içe aktar
import numpy
Eğer çalıştırma sırasında "numpy modülü bulunamadı" hatası alırsanız, 2. adımda gösterildiği gibi modülü yüklemeniz gerekir.
2. Adım: NumPy'ı yükleyin
pip install numpy
3. Adım: NumPy kullanılarak arange()'ın Çalışma Örneği
import numpy as np for i in np.arange(10): print(i, end =" ")
Çıktı:
0 1 2 3 4 5 6 7 8 9
NumPy arange() kullanarak kayan nokta sayıları
`range()` fonksiyonu kullanılarak ondalık sayı dizisi elde etmek mümkün değildir, ancak NumPy'nin `arange()` fonksiyonu kullanılarak bu mümkündür.
Örnek:
İstediğimiz aralık 0.5 ile 1.5 arasıdır. Değer 0.2 artırılacaktır.
import numpy as np for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ")
Çıktı:
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998
Elde ettiğimiz çıktı biraz garip; bazı ondalık sayılar 16 basamaklı olarak gösteriliyor. Bu, ondalık sayıların ikili biçimde saklanmasının karmaşıklığından kaynaklanmaktadır. Gerekirse değerleri yuvarlayabilir ve ihtiyacınız olan ondalık basamak sayısıyla sınırlayabilirsiniz.
