random মডিউলের sample মেথড
random মডিউলের sample মেথড
একটি সিকোয়েন্স থেকে এলিমেন্টের র্যান্ডম স্যাম্পল
রিটার্ন করে। মেথডের প্রথম প্যারামিটারে
আমরা সিকোয়েন্সটি নির্দিষ্ট করি, দ্বিতীয়
প্যারামিটারে - এলিমেন্টের সংখ্যা,
যেগুলো আমরা র্যান্ডমভাবে সিলেক্ট করতে চাই।
তৃতীয় ঐচ্ছিক নামযুক্ত
প্যারামিটার k-এ আমরা পুনরাবৃত্তির জন্য
এলিমেন্টের একটি লিস্ট
সেট করতে পারি। এটি নির্দিষ্ট
এলিমেন্টগুলোর স্যাম্পলিংয়ের সম্ভাবনা বাড়ায়। খেয়াল রাখুন
যে মেথডের তৃতীয় প্যারামিটার শুধুমাত্র
পাইথন ভার্শন 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))
এটি এই কারণে যে পাইথন ভার্শন
3.9 থেকে একটি সেট থেকে স্যাম্পল নেওয়ার সুযোগ
প্রদান করা হয়নি।