কম্পিউটার

Python এ পারমুটেশন এবং কম্বিনেশন?


এই বিভাগে, আমরা শিখতে যাচ্ছি কিভাবে পাইথন প্রোগ্রামিং ভাষা ব্যবহার করে একটি প্রদত্ত সিকোয়েন্সের পারমুটেশন এবং সংমিশ্রণ খুঁজে বের করতে হয়।

অন্যান্য প্রোগ্রামিং ভাষার তুলনায় পাইথনের অন্যতম প্রধান সুবিধা হল এটির সাথে বিশাল লাইব্রেরি রয়েছে।

আমরা একটি প্রদত্ত সিকোয়েন্সের পারমুটেশন এবং কম্বিনেশন খুঁজে পেতে পাইথন ইনবিল্ট প্যাকেজ ব্যবহার করতে যাচ্ছি।

পারমুটেশন এবং কম্বিনেশন খুঁজে পেতে অ্যালগরিদম

  • ধাপ 1 :প্রয়োজনীয় প্যাকেজ আমদানি করুন৷প্রথম ধাপ হল প্রয়োজনীয় প্যাকেজ আমদানি করা, যেহেতু আমরা itertools প্যাকেজ ব্যবহার করতে যাচ্ছি, তাই আমরা এটি ব্যবহার করেই আমদানি করি৷

>>> import itertools
>>>
  • ধাপ 2 :একটি সিকোয়েন্সের সমস্ত পারমুটেশন এবং কম্বিনেশন পান৷ দ্বিতীয় ধাপ হল একটি ইনপুট হিসাবে সিকোয়েন্স/আইটেমগুলির একটি তালিকা প্রবেশ করানো যা টিপলগুলির তালিকার আকারে সমস্ত স্থানান্তর এবং সংমিশ্রণ ফিরিয়ে দেবে৷

  • আমরা পারমুটেশন এবং কম্বিনেশনের দৈর্ঘ্যও সেট করতে পারি।

  • ধাপ 3 :ফলাফল প্রিন্ট করা শেষ ধাপ হল সমস্ত ক্রমাগত এবং সিকোয়েন্সের সেটের সমন্বয় প্রিন্ট করা। আমরা ফলাফল প্রিন্ট করতে লুপ ফাংশন ব্যবহার করতে পারি।

পারমুটেশন

আসুন তিনটি আইটেমের তালিকার স্থানান্তর খুঁজে বের করি।

উদাহরণ 1

from itertools import permutations

seq = permutations(['a','b','c'])

for p in list(seq):
   print(p)

ফলাফল

('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')

উদাহরণ 2:

পারমুটেশনের দৈর্ঘ্য নির্ধারণ করে পারমুটেশন খুঁজুন।

from itertools import permutations

seq = permutations(['p', 'y', 't', 'h', 'o', 'n'], 2)

for p in list(seq):
   print(p)

ফলাফল

('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'p')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 'p')
('t', 'y')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'p')
('h', 'y')
('h', 't')
('h', 'o')
('h', 'n')
('o', 'p')
('o', 'y')
('o', 't')
('o', 'h')
('o', 'n')
('n', 'p')
('n', 'y')
('n', 't')
('n', 'h')
('n', 'o')

সংমিশ্রণ

আসুন পাইথন ব্যবহার করে একটি সিকোয়েন্সের সংমিশ্রণ খুঁজে বের করি।

উদাহরণ 1:সংমিশ্রণের দৈর্ঘ্য নির্ধারণ করুন

#Import itertools package
from itertools import combinations

#Getting all combination of a particular length.
combi = combinations(['p', 'y', 't', 'h', 'o', 'n'], 5)

#Print the list of combinations

for c in list(combi):
   print(c)

ফলাফল

('p', 'y', 't', 'h', 'o')
('p', 'y', 't', 'h', 'n')
('p', 'y', 't', 'o', 'n')
('p', 'y', 'h', 'o', 'n')
('p', 't', 'h', 'o', 'n')
('y', 't', 'h', 'o', 'n')

উদাহরণ 2:প্রতিস্থাপনের সাথে সমন্বয়

#Import itertools package
from itertools import combinations_with_replacement

#Getting all combination by defining a particular length.
combi = combinations_with_replacement(['p', 'y', 't', 'h', 'o', 'n'], 2)

#Print the list of combinations

for c in list(combi):
   print(c)

ফলাফল

('p', 'p')
('p', 'y')
('p', 't')
('p', 'h')
('p', 'o')
('p', 'n')
('y', 'y')
('y', 't')
('y', 'h')
('y', 'o')
('y', 'n')
('t', 't')
('t', 'h')
('t', 'o')
('t', 'n')
('h', 'h')
('h', 'o')
('h', 'n')
('o', 'o')
('o', 'n')
('n', 'n')

  1. মঙ্গোডিবি এবং পাইথন

  2. কিভাবে C++ এ কম্বিনেশন এবং পারমুটেশন গণনা করা যায়?

  3. পাইথনে পারস্পরিক সম্পর্ক এবং রিগ্রেশন

  4. পাইথনে =+ এবং +=কি করে?