Hvordan evaluere en liste minus en annen i Python


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}

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *