Gå til innhold

Anbefalte innlegg

Hei, for å teste om en key finnes i ei liste, bruker jeg dette:

if 'key' in list

Hvor list er ei liste.

Skal jeg sjekke om flere keys er i list, bruker jeg:

if 'key' or/and 'annenkey' in list

Men hva viss jeg har to lister, hvor jeg ønsker å teste om én av keyene (og da ikke én spesiell) finnes i den andre lista, hvordan skal jeg gjøre det da? Hittil har jeg brukt en loop, finnes det bedre metoder?

 

altså er det noe sånt jeg er ute etter:

if onOfTheKeys(['hey','hallo', 'bonsoir']) in list:
    noe()
else:
    noeSnnet()

Lenke til kommentar
Videoannonse
Annonse

Du kan bruke 'set' istedenfor liste, siden denne datatypen har naturlig støtte for det du spør om. Dvs. at du vil finne ut om to sett (med nøkler) har noe til felles:

if set1.intersection(set2):
   print "Hurra"

I dette eksempelet inneholder set1 nøkler som du vil se om finnes i set2, det som returneres er faktisk et nytt sett med snittet mellom de to. Når man tester et 'set'-objekt i en if-setning vil det returnere True om lengden er større enn 0 og False ellers.

Lenke til kommentar
Du kan bruke 'set' istedenfor liste, siden denne datatypen har naturlig støtte for det du spør om. Dvs. at du vil finne ut om to sett (med nøkler) har noe til felles:

if set1.intersection(set2):
   print "Hurra"

I dette eksempelet inneholder set1 nøkler som du vil se om finnes i set2, det som returneres er faktisk et nytt sett med snittet mellom de to. Når man tester et 'set'-objekt i en if-setning vil det returnere True om lengden er større enn 0 og False ellers.

aha, det var genialt

 

>>> set1 = set(['nei', 'no', 'No', 'Nei', 'n', 'N'])
>>> set2 = set(['nei'])
>>> set1.intersection(set2)
set(['n'])
>>> if(set1.intersection(set2)): print 'true'
...
true

Endret av dabear
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...