Produit scalaire de deux listes en Python

J'ai besoin d'écrire la fonction point( L, K ) qui devrait sortir le produit scalaire de la liste L et K. Si ces deux listes ne sont pas d'égale longueur, la dot doit de sortie de 0. Si ces deux listes sont tous les deux vides, dot devrait également sortie 0. Vous devez supposer que l'entrée listes contiennent uniquement des valeurs numériques.

C'est ce que j'ai à ce jour:

def dot( L, K ):
    if len[L]!=len[K]:
        return 0
    elif L == '' or L == []:
        return 0
    else:
        return sum(L[0]*K[0], L[1]*K[1], ect.)

Quelqu'un peut m'aider svp parce que je ne peux pas comprendre ce qu'il faut faire dans la dernière ligne!

Essayez d'utiliser une boucle for pour votre dernière ligne. Je suis en supposant que c'est une mission, sinon vous pouvez utiliser numpy.dot.
ce qui semble comme des devoirs. Jetez un oeil à la zip fonction.
Plus Pythonic fonction serait de retour None sur une longueur de décalage, mais bon, je suppose que vous avez à écrire ce que le professeur veut. 🙂
On vous a dit que vous doit supposer que l'entrée listes contiennent uniquement des valeurs numériques. Alors, où êtes-vous comparer les L à la chaîne vide?

OriginalL'auteur Benjamin Brooks | 2015-09-19