60 of 151 menu

random modülünün sample metodu

random modülünün sample metodu, bir diziden rastgele öğe seçimi yapar. Metodun ilk parametresinde diziyi, ikinci parametresinde ise rastgele seçmek istediğimiz öğe sayısını belirtiriz.

Üçüncü isteğe bağlı isimlendirilmiş parametre k ile tekrar için öğe listesi belirleyebiliriz. Bu, belirli öğelerin seçilme olasılığını artırmanıza olanak tanır. Üçüncü parametrenin sadece Python 3.9 ve sonraki sürümlerinde eklendiğine dikkat edin.

Sözdizimi

import random random.sample(dizi, öğe_sayısı, [k=tekrar])

Örnek

Bir listeden rastgele üç öğe seçelim:

lst = [1, 2, 3, 4, 5] print(random.sample(lst, 3))

Kodun çalıştırılmasının sonucu:

[2, 1, 5]

Örnek

Ayrıca bir demetten rastgele öğe seçmeyi deneyelim:

tpl = (1, 2, 3, 4, 5) print(random.sample(tpl, 2))

Kodun çalıştırılmasının sonucu:

[3, 2]

Örnek

range fonksiyonunun oluşturduğu diziden de öğe seçilebilir:

print(random.sample(range(0, 10), 3))

Kodun çalıştırılmasının sonucu:

[0, 8, 9]

Örnek

Şimdi bir liste alalım ve counts parametresini kullanarak listedeki her öğe için tekrarlar atayalım. Bizim durumumuzda, ilk öğe iki kez, ikinci öğe üç kez, üçüncü öğe ise dört kez tekrar etsin. Ayrıca öğe sayısını belirtmek için k parametre adını belirtmek gerekir:

lst = [1, 2, 3] print(random.sample(lst, counts=[2, 3, 4], k=3))

Bu kod şununla eşdeğerdir:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # fiilen böyle bir liste print(random.sample(lst, 3))

Örnek

Şimdi bir kümeden öğe seçmeyi deneyelim:

st = {1, 2, 3, 4, 5} print(random.sample(st, 2))

Bize aşağıdaki hata dönecektir:

[5, 2] DeprecationWarning: Sampling from a set deprecated since Python 3.9 and will be removed in a subsequent version. print(random.sample(st, 2))

Bunun nedeni, Python 3.9 sürümünden itibaren bir kümeden örnekleme yapma imkanının sağlanmamış olmasıdır.

Ayrıca bakınız

  • choice metodu,
    bir diziden rastgele öğe döndürür
  • random metodu,
    sözde rastgele sayı döndürür
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet