Etsi ero kahden listan välillä Pythonissa

tässä viestissä nähdään, miten löytää ero kahden listan välillä Pythonissa. Ratkaisu olisi palautettava kohteita läsnä ensimmäisessä luettelossa, mutta ei toisessa luettelossa.

käyttäen joukkoa ()

yksinkertainen ratkaisu on muuntaa molemmat luettelot joukon tietorakenteeksi ja laskea sitten erotus käyttämällä – operaattoria.

1
2
3
4
5
6
7
8

first =
second =
# The set() function is used to create sets
diff = list(set(first) – set(second))
print(diff) # prints

Using difference() function

The set object also offers in-build function ero (), joka palauttaa uuden joukon, jossa on ensimmäisen joukon elementtejä, jotka eivät ole toisessa joukossa.

1
2
3
4

6
7
First =
second =
diff = list(Set(first).difference(set(second))
print (diff) # prints

käyttämällä luettelon ymmärrettävyyttä

kumpikaan yllä olevista ratkaisuista ei säilytä alkuaineiden alkuperäistä järjestystä tuloluettelossa. Huomaa myös, että kaikki päällekkäiset merkinnät ensimmäisessä luettelossa on eliminoitu tuotosluettelossa. Säilyttääksesi järjestyksen ja salliaksesi kaksoiskappaleet, voit käyttää luettelon ymmärtämistä alla olevalla tavalla:

First =
second =
diff =
print(diff) # prints

1
2
3
4

6
7

suurten listojen suorituskyvyn parantamiseksi kannattaa harkita toisen listan muuttamista ykköseksi.

first =
second =
s = set(Second)
diff =
Print(diff) # prints

1
2
3
4
5
6
7
8

Vastaa

Sähköpostiosoitettasi ei julkaista.