Come calcolo le permutazioni e disposizioni in Python

Per calcolare le permutazioni o le disposizioni di un insieme di elementi, nel linguaggio python posso usare la funzione permutations del modulo itertools.

permutations(l,k)

  • Il primo argomento è una lista di n oggetti da permutare o disporre.
  • Il secondo elemento è la cardinalità k dei gruppi. Se k=n o manca la funzione calcola le permutazioni. Se k>0 calcola le disposizioni.

La funzione permutations calcola le permutazioni o le disposizioni.

Cosa sono le permutazioni e le disposizioni? Sono le possibili associazioni tra gli n elementi dell'insieme, considerando anche l'ordine degli elementi. Se viene fatto su gruppi più piccoli dell'insieme k<n sono disposizioni. Viceversa, sono permutazioni (k=n).

    Un esempio pratico

    Permutazioni

    Ho un insieme di 3 elementi e voglio calcolare le permutazioni degli n=3 elementi.

    Importo la funzione permutations dal modulo itertools

    >>> from itertools import permutations
    >>> p = permutations([1, 2, 3])

    Alla variabile p viene assegnato l'elenco delle permutazioni possibili.

    Per vederle uso la funzione list.

    >>> list(p)
    [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

    E' una lista con le permutazioni degli elementi.

    Nota. Nelle permutazioni conta anche l'ordine degli elementi. Ad esempio (1,2,3) e (3,2,1) hanno gli stessi elementi ma in posizioni diverse. Per non considerare la posizione degli elementi, in statistica devo usare le combinazioni.

    Disposizioni

    Ho lo stesso insieme di 3 elementi.

    Ora voglio calcolare le disposizioni a gruppi di 2 elementi.

    >>> from itertools import permutations
    >>> d = permutations([1, 2, 3],2)

    In questo caso ho documentato anche il secondo argomento della funzione.

    Per vedere il contenuto della variabile d uso la funzione list.

    >>> list(d)
    [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

    E' una lista con le disposizioni degli n=3 elementi in gruppi di k=2 elementi.

    A differenza delle permutazioni, le disposizioni sono calcolate su sottoinsiemi di cardinalità inferiore all'insieme principale.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base