Python itertools kombinacje

Python itertools kombinacje
Obejmujemy funkcję Combinations (), wykorzystując itertools. Jednak kluczowe jest zrozumienie jego wykorzystania, zanim zagłębia się w temat. Najpierw na to rzuć okiem. Podczas wykonywania różnych obliczeń często doświadczamy kombinacji lub permutacji. Ale mimo że możemy obliczyć liczby, czasami radzenie sobie z dużymi wartościami byłoby trudne. Pomyśl o tym, co mogłoby się zdarzyć, gdybyśmy mieli narzędzia, które mogłyby dokonać tej determinacji użytkownikom.

Pakiet itertools

Nasze wymagania są precyzyjnie spełnione przez pakiet IterTools. Jego zasięg wykracza jednak poza to. Oferuje dodatkowe metody, które ułatwiają również inne predefiniowane operacje. Ale ten pakiet jest podzielony na trzy typy, a mianowicie: nieskończone iteratory, iteratory kombinatorów. i zakończenie iteratorów.

Omówilibyśmy tylko funkcję Combinations (), ponieważ ten moduł jest zbyt ważny, aby w całości opisać w całości. Podczas postępowania spójrzmy na to, jak go wdrożyć, jak go zintegrować i zobacz, co zawierają kombinacje.

Instalacja

Ponieważ takie podejście jest wbudowane w Python, nie jest potrzebna procedura instalacji. Przed skorzystaniem z niego musimy to zintegrować. Do jej osiągnięcia można użyć następującego polecenia:

# Importuj itertools

Definicja kombinacji

Kiedy myślimy o kombinacjach, możemy je zdefiniować jako metodę organizacji grupy obiektów. Kolejność komponentów w kombinacjach jest nieistotna, dlatego „XY” działa podobnie jak „YX”.

Metoda kombinacji ()

Konkretna funkcja jest składnikiem klasyfikacji kombinatorics pakietu ITERTOOLS. Ta grupa zawiera dodatkowe funkcje, takie jak produkty () i permutacje (). Z drugiej strony funkcja Combinations () zwykle dotyczy każdej kombinacji, która może być wykonalna dla dostarczonego zbioru danych.

Mówiąc dokładniej, sugerowana metoda wyświetla każdą unikalną kombinację danych bez żadnego podstawienia. Możemy jednak wykorzystać podejście Combinations_With_Replacement () do wyświetlania każdej kombinacji z podstawieniem. Musimy podać parametry w odpowiednich kolejności w obu sytuacjach. Teraz omówimy sposób wykorzystania metody Combinations () w Pythonie.

Przykład 1:

Korzystając z metody Combinations (), zademonstrujemy zestaw dwóch słów, które są dostępne z literą „Informacje” w tym przypadku.

z kombinacji importu IterTools
str = „Informacje”
a = len (str)
Drukuj (a)
kombinacja = kombinacje (str, 2)
x = [".dołącz (j) dla j w kombinacji]
Drukuj (x)
Drukuj (len (x))

Aby rozpocząć kod, integrujemy pakiet „Combinations” z frameworka „IterTools”. Teraz definiujemy słowo „informacje”, a słowo to jest przechowywane w zmiennej „str”. Nazywamy metodę LEN (), aby znaleźć długość określonej litery. Następnie drukujemy długość tego listu. Korzystając z słowa „informacje”, musimy uzyskać każdą możliwą kombinację. Tak więc stosujemy funkcję Combination (). Wybieramy liczbę „2”, aby stać całkowitą liczbę wartości w zestawie. Następnie wywołujemy funkcję Join () w następnym etapie.

Wraz z tym wykorzystujemy również pętlę „dla”, aby uzyskać wszystkie możliwe kombinacje zdefiniowanego słowa. Aby utrzymać możliwe kombinacje, musimy zdefiniować zmienną „x”. Teraz funkcja print () służy do wyświetlania tych kombinacji. Na koniec znajdujemy całkowitą liczbę kombinacji za pomocą metody len (), a długość ta jest pokazana za pomocą funkcji print ().


Ponieważ w poprzednim przypadku nie sortowaliśmy liter, zdefiniowany ciąg zawiera litery w sposób leksykograficzny.

Przykład 2:

Zgodnie z wynikiem poprzedniego przykładu zaobserwujemy, że litery nie zostały zmienione podczas układu. Mamy również opcję konfiguracji wymiany. Technika Combinations_With_Replacement () pozwala nam to osiągnąć. Oto ilustracja:

Z kombinacji importu IterTools, Combinations_With_replecement
w = „badmintona”
M = len (w)
Drukuj (m)
kombinacja = Combinations_With_replecement (W, 3)
c = [”.dołącz (l) dla L w kombinacji]
Drukuj (c)
Drukuj (Len (c))

Biblioteki „kombinacje” i „kombinacje z zastępującymi” z ram „iTerTools” muszą zostać włączone, zanim będziemy mogli rozpocząć kodowanie. Teraz określamy termin „badminton”, który jest utrzymywany w zmiennej „w.„Aby określić długość dostarczonego słowa, używamy funkcji len (). Następnie pokazujemy, jak długo był ten list. Chcemy tylko zidentyfikować każdą wykonalną kombinację za pomocą słowa „informacje”.

Aby to zrobić, wywołujemy kombinację funkcji z zamiennikiem (). Liczba elementów, które chcemy uwzględnić w zestawie, jest określona jako „3”.Używamy metody Join () w następnym etapie. Ponadto używamy pętli „dla”, aby uzyskać każdą możliwą kombinację określonego terminu. Aby zachować możliwe kombinacje, należy zadeklarować atrybut o nazwie „C”.

Teraz kombinacje są prezentowane za pomocą metody print (). W końcowym etapie używamy funkcji len () do obliczenia całkowitej liczby kombinacji, a metoda print () jest używana do wyświetlania tej długości.

Przykład 3:

Prawdopodobnie musimy odzyskać kombinacje z pandasframe. Metoda Lambda zostanie zastosowana do jej osiągnięcia. Spójrzmy na następujący scenariusz:

importować pandy jako PD
z kombinacji importu IterTools
d_f = pd.DataFrame ('subj1' :( 'x', 'z'), 'subj2': ('i', 'j'), 'subj3': ('r', 's'), 'subj4': ( „A”, „e”))
d_f ['kombinacje'] = d_f.Zastosuj (lambda v: lista (kombinacje (v, 2)), oś = 1)
Drukuj (D_F)

Importujemy dwa wymagane pliki nagłówka, które obejmują „pandy” jako „PD” i „kombinacje” z modułu „IterTools”. Tworzymy zestaw danych za pomocą DataFrame (). Ta funkcja jest powiązana z biblioteką pandas. Definiujemy elementy zestawu danych w tej funkcji.

W następnym kroku wykorzystujemy metody Lambda i Combinations. Metoda Lambda zawiera dwa parametry. Tutaj określamy wartość osi. Aby przechowywać wygenerowane kombinacje, wkładamy kolumnę do zestawu danych o nazwie Combinations. Na koniec reprezentujemy wymagany zestaw danych za pomocą metody print ().

Wniosek

Techniki kombinacji z pakietu IterTools są omówione w tym artykule. Procedury składni, konfiguracji i importu do systemu są wykazane. Następnie przyjrzeliśmy się, jak stworzyć kombinacje liter za pomocą funkcji kombinacji i wykorzystując różne typy danych, w tym ciągle i tablice. Korzystając z metody Combinations (), korzystamy z modułu DataFrame. W jednym przypadku wykonaliśmy kombinacje z zastępowaniami, aw innym przykładzie wykonaliśmy kombinacje wolne od zamiennych.