Intersezione liste

di il
4 risposte

Intersezione liste

Ciao a tutti,

ho scritto un programma per l'intersezione di due liste, che ovviamente non funziona. Credo manchi qualcosa, perche dopo l'istruzione if non va avanti, ma non capisco cosa. Avete qualche suggerimento?


l1=[9,8,7,14,3,2,"a","p","ciao","b"]
l2=["b",1,9.2,6,3,9,"p"]
l3=[]
x=0
y=0
while x<len(l1):
   while y<len(l2):
       if l2[y] == l1[x]:
           l3.append(l2[y])
       y=y+1
   x=x+1
print(l3)
print(len(l3))

4 Risposte

  • Re: Intersezione liste

    Ok alla fine ho cambiato il ciclo while con quello for e funziona.

    E' perche col ciclo while esegue l'istruzione solo finche non trova corrispondenza, giusto?

    mentre il for fa esattamente quel numero di cicli che gli dai

  • Re: Intersezione liste

    Il ciclo for azzera y ad ogni giro cosa che tu non fai con il while

    Dovrebbe essere

    x=0
    while x<len(l1):
       y=0
       while y<len(l2):
  • Re: Intersezione liste

    Ok grazie mille

  • Re: Intersezione liste

    Suggerisco l3=[x for x in l1 if x in l2]

Devi accedere o registrarti per scrivere nel forum
4 risposte