i dette indlæg vil vi se, hvordan man finder forskel mellem to lister i Python. Løsningen skal returnere varer, der findes på den første liste, men ikke på den anden liste.
brug af set ()
den enkle løsning er at konvertere begge lister til at indstille datastruktur og derefter beregne forskellen ved hjælp af operatør.
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 forskel () som returnerer et nyt sæt med elementer i det første sæt, der ikke er i det andet sæt.
1
2
3
4
5
6
7
|
first =
second =
diff = list(set(first).forskel(sæt(sekund)))
print (diff) # udskriver
|
brug af Listeforståelse
begge ovenstående løsninger bevarer ikke den oprindelige rækkefølge af elementer i inputlisten. Bemærk også, at eventuelle duplikatposter i den første liste elimineres i outputlisten. For at bevare orden og tillade duplikater kan du bruge listeforståelsen som vist nedenfor:
1
2
3
4
5
6
|
first =
second =
diff =
print(diff) # udskriver
|
for at forbedre ydeevnen for store lister skal du overveje at konvertere den anden liste til at indstille først.
1
2
3
4
5
6
8
|
først =
sekund =
s = sæt(sekund)
diff =
print(diff) # prints
|