La funzione product di itertools

Nel linguaggio python posso calcolare il prodotto scalare di due liste o tuple tramite la funzione product del modulo itertools.

product(x, y)

Gli argomenti x, y sono due liste.

La funzione calcola il prodotto scalare (x,y) delle due liste.

Nota. Per calcolare il prodotto scalare di due array posso, invece, usare il metodo inner() della libreria numpy.

    Un esempio pratico

    Esempio 1

    Per prima cosa creo due liste

    >>> x=("A", "B", "C")
    >>> y=(1,2)

    Importo il metodo product dalla libreria itertools.

    Poi calcolo il prodotto scalare e lo assegno alla variabile p.

    >>> from itertools import product
    >>> p=product(x,y)

    Per vedere il contenuto della variabile p utilizzo la funzione list.

    >>> list(p)
    [('A', 1), ('A', 2), ('B', 1), ('B', 2), ('C', 1), ('C', 2)]

    Il risultato è una lista con il prodotto scalare (x,y) delle due liste x,y.

    Esempio 2

    Posso ottenere lo stesso risultato senza usare le liste, lavorando con due stringhe.

    >>> from itertools import product
    >>> p=product("ABC","12")

    Visualizzo il contenuto della variabile p.

    >>> list(p)
    [('A', '1'), ('A', '2'), ('B', '1'), ('B', '2'), ('C', '1'), ('C', '2')]

    Il risultato è simile all'esempio precedente.

    L'unica differenza è nel secondo elemento della coppia. I numeri sono stringhe anziché valori numerici.

    E così via

     


     

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

    FacebookTwitterLinkedinLinkedin
    knowledge base