Comment évaluer une liste moins une autre en Python


Meilleure réponse

Je suppose que vous voulez dire le «moins» arithmétique des deux listes (soustraction par composant.)

Lorsque vous vous surprenez à poser cette question, il sagit dun panneau indiquant que il est temps de commencer régulièrement à utiliser le module numpy.

Numpy est si couramment utilisé que cest en fait une partie standard de facto du langage. Numpy fournit (parmi une bibliothèque insensée de fonctionnalités mathématiques), une élégance pythonique à larithmétique de base.

Parce que – pour soustraire une liste B de liste A, tu ne veux pas écrire C = A – B?

Bien sûr que oui. Alors, importez numpy et effectuez des conversions comme ceci:

import numpy as np

a=[6,3,6,8,9,6,4]

b=[1,0,1,2,1,2,1]

a = np.array(a) #Convert list to np array

b = np.array(b)

c = a - b

Et cest tout. Cela fonctionne pour dautres opérations comme * et ainsi de suite. Et pas besoin de paniquer que maintenant vos listes sont dans un étrange conteneur np.array, ces tableaux permettent une indexation identique en utilisant [] et un découpage en utilisant [:] comme le font les listes.

Et vous pouvez toujours obtenir une liste en disant c.list ().

Les programmeurs python expérimentés, lorsquils font une bonne quantité darithmétique, ont tendance à utiliser des tableaux numpy plutôt que des listes pour contenir des nombres.

Félicitations pour mise à niveau!

Réponse

Comment évaluez-vous une liste moins une autre en Python?

Habituellement, le plus est défini par la méthode \_\_add\_\_.

[1, 2, 3] + [3, 2, 1] vous donnera une nouvelle liste [1, 2, 3, 3, 2, 1]

[1, 2, 3] + [a, b, c] vous donnera une nouvelle liste [1, 2, 3, a, b , c]

Lopérateur moins nest pas défini.

set (ls) vous donnera la version définie dune liste ls, (en supprimant les doublons)

Lopérateur moins est défini pour les ensembles comme la différence densemble

if

A = set([1, 2, 4])

B = set([1, 2, 3])

A – B donnera {4}

B – A donnera {3}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *