logo

itertools.combinations() modul i Python for at udskrive alle mulige kombinationer

Givet en matrix af størrelse n, generer og udskriv alle mulige kombinationer af r elementer i matrix. Eksempler:

Input : arr[] = [1, 2, 3, 4], r = 2 Output : [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>

Anbefalet: Prøv venligst din tilgang {går} først, inden vi går videre til løsningen.

Dette problem har en eksisterende rekursiv løsning, se venligst Udskriv alle mulige kombinationer af r elementer i en given matrix af størrelse n link. Vi vil løse dette problem i python ved hjælp af itertools.combinations() modul.



Hvad gør itertools.combinations()?

Det returnerer r længde undersekvenser af elementer fra input iterable. Kombinationer udsendes i leksikografisk sorteringsrækkefølge. Så hvis det iterable input er sorteret, vil kombinationstuplerne blive produceret i sorteret rækkefølge.

    itertools.combinations(iterable, r): Det returnerer tupler i r-længde i sorteret rækkefølge uden gentagne elementer. For eksempel kombinationer('ABCD', 2) ==> [AB, AC, AD, BC, BD, CD]. itertools.combinations_with_replacement(iterable, r): Det returnerer r-længde tupler i sorteret rækkefølge med gentagne elementer. For eksempel kombinationer_med_erstatning('ABCD', 2) ==> [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].

Python3








# Function which returns subset or r length from n> from> itertools>import> combinations> def> rSubset(arr, r):> ># return list of all subsets of length r> ># to deal with duplicate subsets use> ># set(list(combinations(arr, r)))> >return> list>(combinations(arr, r))> # Driver Function> if> __name__>=>=> '__main__'>:> >arr>=> [>1>,>2>,>3>,>4>]> >r>=> 2> >print> (rSubset(arr, r))>

>

>

Produktion

[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>