random მოდულის sample მეთოდი
random მოდულის sample მეთოდი
აბრუნებს შემთხვევით არჩეულ ელემენტებს
მიმდევრობიდან. მეთოდის პირველ პარამეტრში
ვუთითებთ მიმდევრობას, მეორე პარამეტრში -
ელემენტების რაოდენობას, რომელთა შემთხვევითად
არჩევაც გვსურს.
მესამე არასავალდებულო, დასახელებულ
პარამეტრში k შეგვიძლია მივუთითოთ
ელემენტების სია გამეორებისთვის. ეს საშუალებას
გვაძლევს გავზარდოთ მითითებული ელემენტების
არჩევის ალბათობა. გაითვალისწინეთ, რომ მეთოდის
მესამე პარამეტრი დამატებულია მხოლოდ Python-ის
3.9 ვერსიიდან დაწყებული.
სინტაქსი
import random
random.sample(მიმდევრობა, ელემენტების_რაოდენობა, [k=გამეორება])
მაგალითი
მოდით, მივიღოთ შემთხვევითი სამი ელემენტი სიიდან:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
კოდის შესრულების შედეგი:
[2, 1, 5]
მაგალითი
მოდით ასევე ვცადოთ შემთხვევითი ელემენტების არჩევანის აღება ტუპლიდან:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
კოდის შესრულების შედეგი:
[3, 2]
მაგალითი
ასევე შესაძლებელია ელემენტების არჩევა
იმ მიმდევრობიდან, რომელსაც ქმნის
ფუნქცია range:
print(random.sample(range(0, 10), 3))
კოდის შესრულების შედეგი:
[0, 8, 9]
მაგალითი
ახლა მოდით ავიღოთ სია და counts
პარამეტრის გამოყენებით მივანიჭოთ გამეორებები
თითოეულ ელემენტს სიიდან. ჩვენს შემთხვევაში,
პირველი ელემენტი განმეორდეს ორჯერ, მეორე -
სამჯერ, ხოლო მესამე - ოთხჯერ. ასევე აუცილებელია
მივუთითოთ k პარამეტრის სახელი
ელემენტების რაოდენობის გამოსატანად:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
ეს კოდი ექვივალენტურია შემდეგის:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # ფაქტობრივად ასეთი სია
print(random.sample(lst, 3))
მაგალითი
ახლა მოდით ვცადოთ ელემენტების აღება სიმრავლიდან:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
დაგვიბრუნდება შემდეგი შეცდომა:
[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))
ეს იმასთან არის დაკავშირებული, რომ Python-ის
3.9 ვერსიიდან არ არის გათვალისწინებული
სიმრავლიდან არჩევანის აღების შესაძლებლობა.