Beste svaret
Jeg antar at du mener den aritmetiske minus av de to listene (komponentvis subtraksjon.)
Når du spør deg om dette spørsmålet, er dette et skilt innlegg som indikerer det er på tide å begynne regelmessig å bruke numpy-modulen.
Numpy blir så ofte brukt at det egentlig er en defakt standard del av språket. Numpy gir (blant et vanvittig bibliotek med matematisk funksjonalitet) en pythonisk eleganse til grunnleggende aritmetikk.
Fordi – å trekke en liste B fra liste A, vil du ikke skrive C = A – B?
Selvfølgelig gjør du det. Så importer importløs og gjør konverteringer som dette:
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
Og det er det. Det fungerer for andre operasjoner som * og så videre. Og det er ikke nødvendig å freak out at nå listene dine er i en merkelig np.array-beholder, disse arrays tillater identisk indeksering ved hjelp av [] og kutting med [:] som lister gjør.
Og du kan alltid få en liste tilbake ved å si c.list ().
Erfarne python-programmerere, når de gjør en god mengde aritmetikk, pleier å bruke numpy arrays i stedet for lister for å holde tall.
Gratulerer med utjevning!
Svar
Hvordan vurderer du en liste minus en annen i Python?
Vanligvis defineres pluss gjennom \_\_add\_\_-metoden.
[1, 2, 3] + [3, 2, 1] vil gi deg en ny liste [1, 2, 3, 3, 2, 1]
[1, 2, 3] + [a, b, c] gir deg en ny liste [1, 2, 3, a, b , c]
Minusoperatøren er ikke definert.
set (ls) vil gi deg angitt versjon av en liste ls, (fjerne duplikater)
Minusoperatøren er definert for sett som settdifferansen
hvis
A = set([1, 2, 4])
B = set([1, 2, 3])
A – B vil gi {4}
B – A vil gi {3}