Migliore risposta
Immagino che tu intenda il meno aritmetico delle due liste (sottrazione per componente)
Quando ti ritrovi a fare questa domanda, questo è un cartello che indica che è ora di iniziare a utilizzare regolarmente il modulo numpy.
Numpy è così comunemente usato che è davvero una parte standard del linguaggio. Numpy fornisce (tra una folle libreria di funzionalità matematiche), una eleganza pitonica allaritmetica di base.
Perché – per sottrarre una lista B da list A, non vuoi scrivere C = A – B?
Certo che lo fai. Quindi, importa numpy ed esegui conversioni in questo modo:
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
E questo è tutto. Funziona per altre operazioni come * e così via. E non cè bisogno di preoccuparsi che ora le tue liste siano in uno strano contenitore np.array, questi array consentono lindicizzazione identica usando [] e lo slicing usando [:] come fanno le liste.
una lista indietro dicendo c.list ().
I programmatori Python esperti, quando fanno una buona quantità di aritmetica, tendono a usare array numpy piuttosto che elenchi per contenere numeri.
Congratulazioni per salire di livello!
Risposta
Come valuti una lista meno unaltra in Python?
Di solito il più è definito tramite il metodo \_\_add\_\_.
[1, 2, 3] + [3, 2, 1] ti darà un nuovo elenco [1, 2, 3, 3, 2, 1]
[1, 2, 3] + [a, b, c] ti fornirà un nuovo elenco [1, 2, 3, a, b , c]
Loperatore meno non è definito.
set (ls) ti darà la versione set di una lista ls, (rimozione dei duplicati)
Loperatore meno è definito per gli insiemi come differenza tra gli insiemi
se
A = set([1, 2, 4])
B = set([1, 2, 3])
A – B darà {4}
B – A darà {3}