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ä.
from
itertools
import
combinations
comb
=
combinations(,
2
)
for
i
in
list
(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 :