random მოდულის sample მეთოდი

random მოდულის sample მეთოდი აბრუნებს შემთხვევით არჩეულ ელემენტებს მიმდევრობიდან. მეთოდის პირველ პარამეტრში ვუთითებთ მიმდევრობას, მეორე პარამეტრში - ელემენტების რაოდენობას, რომელთა შემთხვევითად არჩევაც გვსურს.

მესამე არასავალდებულო, დასახელებულ პარამეტრში k შეგვიძლია მივუთითოთ ელემენტების სია გამეორებისთვის. ეს საშუალებას გვაძლევს გავზარდოთ მითითებული ელემენტების არჩევის ალბათობა. გაითვალისწინეთ, რომ მეთოდის მესამე პარამეტრი დამატებულია მხოლოდ Python-ის 3.9 ვერსიიდან დაწყებული.

სინტაქსი

pythonimport random

random.sample(მიმდევრობა, ელემენტების_რაოდენობა, [k=გამეორება])

მაგალითი

მოდით, მივიღოთ შემთხვევითი სამი ელემენტი სიიდან:

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

კოდის შესრულების შედეგი:

python[2, 1, 5]

მაგალითი

მოდით ასევე ვცადოთ შემთხვევითი ელემენტების არჩევანის აღება ტუპლიდან:

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

კოდის შესრულების შედეგი:

python[3, 2]

მაგალითი

ასევე შესაძლებელია ელემენტების არჩევა იმ მიმდევრობიდან, რომელსაც ქმნის ფუნქცია range:

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

კოდის შესრულების შედეგი:

python[0, 8, 9]

მაგალითი

ახლა მოდით ავიღოთ სია და counts პარამეტრის გამოყენებით მივანიჭოთ გამეორებები თითოეულ ელემენტს სიიდან. ჩვენს შემთხვევაში, პირველი ელემენტი განმეორდეს ორჯერ, მეორე - სამჯერ, ხოლო მესამე - ოთხჯერ. ასევე აუცილებელია მივუთითოთ k პარამეტრის სახელი ელემენტების რაოდენობის გამოსატანად:

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

ეს კოდი ექვივალენტურია შემდეგის:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # ფაქტობრივად ასეთი სია
print(random.sample(lst, 3))

მაგალითი

ახლა მოდით ვცადოთ ელემენტების აღება სიმრავლიდან:

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

დაგვიბრუნდება შემდეგი შეცდომა:

error[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 ვერსიიდან არ არის გათვალისწინებული სიმრავლიდან არჩევანის აღების შესაძლებლობა.

ასევე იხილეთ

  • choice მეთოდი random მოდულის,
    რომელიც აბრუნებს შემთხვევით ელემენტს მიმდევრობიდან
  • random მეთოდი random მოდულის,
    რომელიც აბრუნებს ფსევდოშემთხვევით რიცხვს