Python tarjoaa suoria menetelmiä sekvenssin permutaatioiden ja kombinaatioiden löytämiseen. Nämä menetelmät löytyvät itertools-paketista.
Tuo ensin itertools-paketti, jotta voit toteuttaa permutaatiomenetelmän pythonissa. Tämä metodi ottaa syötteenä listan ja palauttaa objektilistan tupleista, jotka sisältävät kaikki permutaatiot listamuodossa.
from itertools import permutations perm = permutations()
(1, 2, 3)(1, 3, 2)(2, 1, 3)(2, 3, 1)(3, 1, 2)(3, 2, 1)
Se tuottaa n! permutaatiota, jos syötesarjan pituus on n.
Jos haluat saada permutaatioita, joiden pituus on L, toteuta se tällä tavalla.
from itertools import permutations perm =
(1, 2)(1, 3)(2, 1)(2, 3)(3, 1)(3, 2)
Se tuottaa nCr * r! permutaatioita, jos syöttöjonon pituus on n ja syöttöparametri on r.
Tämä metodi ottaa syötteenä listan ja syötteen r ja palauttaa objektien listan tupleista, jotka sisältävät kaikki mahdolliset yhdistelmät pituudeltaan r listamuodossa.
from itertools import combinations comb = combinations(, 2) for i in list(comb): print (i)
Tulos:
(1, 2)(1, 3)(2, 3)
- Yhdistelmät lähetetään syötteen leksikografisessa lajittelujärjestyksessä. Jos siis syöttöluettelo on lajiteltu, yhdistelmätuplet tuotetaan lajitellussa järjestyksessä.
fromitertoolsimportcombinationscomb=combinations(,2)foriinlist(comb):print(i)
Tulost:
(2, 1)(2, 3)(1, 3)
from itertools import combinations comb = combinations(, 2) for i in list(comb): print (i)
Tulost:
(1, 1)(1, 3)(1, 3)
from itertools import combinations_with_replacement comb = combinations_with_replacement(, 2)
(1, 1)(1, 2)(1, 3)(2, 2)(2, 3)(3, 3)
Tämän artikkelin on kirjoittanut Raju Varshney. Kirjoita kommentteja, jos löydät jotain virheellistä tai haluat jakaa lisää tietoa yllä käsitellystä aiheesta
Artikkelin tunnisteet :
Practice Tags :