Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एक सेट के सभी क्रमपरिवर्तन उत्पन्न करें?

गणित में, एक सेट के सभी सदस्यों को किसी क्रम या क्रम में व्यवस्थित करना और यदि सेट पहले से ही व्यवस्थित है, तो उसके तत्वों को पुनर्व्यवस्थित (पुन:व्यवस्थित) करना क्रमपरिवर्तन कहलाता है। हम विभिन्न तकनीक का उपयोग करके क्रमपरिवर्तन उत्पन्न कर सकते हैं। उनमें से कुछ नीचे हैं,

विधि 1

पायथन क्रमपरिवर्तन और संयोजन के लिए समर्पित मॉड्यूल के साथ आता है जिसे itertools कहा जाता है।

पहले मॉड्यूल आयात करें

>>> import itertools
>>>

क्रमपरिवर्तन फ़ंक्शन हमें एक सूची के भीतर N मानों का क्रमपरिवर्तन प्राप्त करने की अनुमति देता है, जहां आदेश मायने रखता है। उदाहरण के लिए, चयन N =2 मान [1,2,3,4] के साथ निम्नानुसार किया जाता है -

Permutation (order matters):
>>> print(list(itertools.permutations([1,2,3,4],2)))
[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]

संयोजन (आदेश मायने नहीं रखता)

>>> print(list(itertools.combinations('1234', 2)))
[('1', '2'), ('1', '3'), ('1', '4'), ('2', '3'), ('2', '4'), ('3', '4')]

विधि 2

नीचे नई मध्यवर्ती सूचियां बनाए बिना सूची पर कार्यान्वयन है।

def permute(xs, low=0):
if low + 1 >= len(xs):
yield xs
else:
for p in permute(xs, low + 1):
yield p
for i in range(low + 1, len(xs)):
xs[low], xs[i] = xs[i], xs[low]
for p in permute(xs, low + 1):
yield p
xs[low], xs[i] = xs[i], xs[low]
for p in permute([1, 2, 3]):
print (p)

आउटपुट

[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]

विधि 3 रिकर्सन का उपयोग करना

import copy
def perm(prefix,rest):
for e in rest:
new_rest=copy.copy(rest)
new_prefix=copy.copy(prefix)
new_prefix.append(e)
new_rest.remove(e)
if len(new_rest) == 0:
print (new_prefix + new_rest)
continue
perm(new_prefix,new_rest)
perm([],[1, 2, 3])

आउटपुट

[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]

  1. पायथन सेट ऑपरेशन।

    गणित में, एक सेट अलग-अलग वस्तुओं का एक संग्रह होता है, जिसे अपने आप में एक वस्तु के रूप में माना जाता है। उदाहरण के लिए, संख्या 2, 4, और 6 अलग-अलग वस्तुएं हैं, जब उन्हें अलग-अलग माना जाता है, लेकिन जब उन्हें सामूहिक रूप से माना जाता है, तो वे 3 आकार का एक एकल सेट बनाते हैं, जिसे {2,4,6} लिखा जाता है

  1. पायथन में किसी सूची के सभी क्रमपरिवर्तन कैसे उत्पन्न करें?

    पायथन में सूची के सभी क्रमपरिवर्तन खोजने के लिए आप itertools पैकेज की क्रमपरिवर्तन विधि का उपयोग कर सकते हैं। आप इसे इस प्रकार उपयोग कर सकते हैं - उदाहरण import itertools perms = list(itertools.permutations([1, 2, 3])) print(perms) आउटपुट यह आउटपुट देगा - [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1)

  1. पायथन सेट

    पायथन सेट एक संग्रह प्रकार है जिसमें एक अनियंत्रित . होता है अद्वितीय . का संग्रह और अपरिवर्तनीय वस्तुओं। दूसरे शब्दों में, एक पायथन सेट डुप्लिकेट आइटम नहीं रख सकता है और एक बार सेट बनने के बाद, आइटम नहीं बदल सकते हैं। नोट:एक सेट के आइटम अपरिवर्तनीय हैं, इसका मतलब है कि हम आइटम नहीं बदल सकते हैं। हा