Pythonban hogyan lehet a random.sample kiválasztás parancsnál kizárni bizonyos feltételnek megfelelő tagokat a kiválasztásból?
Nemár, ez rohadt egyszerű: addig választol ki egy random elemet, amíg megfelelőt nem találsz. Ehhez a random függvénynek semmit köze. Ez nem megy?
(BTW ehhez nem a random.sample(), hanem random.choice() ajánlott használni.)
Bár csak nagyon konkrét esetekre, és rövid listával ideális, de én inkább visszafelé játszanám el.
Ne kihagyja, hanem ha azt kapja keressen mást. Bár már régen használtam Python-t (más irányba mentem), a 2-esben erre még a logikai tartalomellenőrzéses megoldás volt a szimpatikus. A Python3-ban nem tudom milyen módok vannak még rá.
List = [0,1,2,3,4,5,6,7,8,9]
sampleList = random.sample(List, k=1)
while 2 or 7 in sampleList:
sampleList = random.sample(List, k=1)
Tehát azt mondod, hogy egészen addig, amíg a sampleList tartalmazza a 2-t vagy a 7-et, randomizálja újra.
A "2 or 7" helyére természetesen úgy írod meg a kivételeket, ahogy akarod.
Emellett annyit még hozzátennék, ha tudod, hogy biztosan csak egész számaid lesznek, és csak egyet kell kiválasztanod, akkor a random.randint() jobb megoldás, mint a random.sample().
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!