CHIARIMENTO SU CICLO FOR

di il
5 risposte

CHIARIMENTO SU CICLO FOR

Buongiorno,

date due liste:

lista = [3, 1, 2]
listaOrdinata = sorted(lista)

eseguo un iterazione per stamparle :

for i in lista, listaOrdinata:
print(i)

l'output è:
[3, 1, 2]
[1, 2, 3]

il problema è (dal quale mi sorge questo dubbio): se io volessi confrontare elemento per elemento delle due liste e stampare 'lettere uguali' se l' n elemento della lista è uguale all' n elemento della listaOrdinata
posso usare, in questo caso specifico del ciclo FOR, la variabile i come indice ?[/u]

o è necessario utilizzare per forza il ciclo for con la funzione range?:

for i in range(len(lista)):
if lista == listaOrdinata
print('lettere uguali')

in sostanza senza la sintassi (range) è possibile usare un indice di iterazione come i in questo ultimo caso?

grazie a tutti

5 Risposte

  • Re: CHIARIMENTO SU CICLO FOR

    No, non puoi: la i del primo for è una lista. Devi per forza usare il secondo sistema (che non è molto efficiente, ma non sapendo che ci devi fare va bene comunque).
  • Re: CHIARIMENTO SU CICLO FOR

    Non capisco la stampa del primo for, perché usi il for ? basta
    print(lista)
    print(listaOrdinata)
  • Re: CHIARIMENTO SU CICLO FOR

    Andrea Quaglia ha scritto:


    No, non puoi: la i del primo for è una lista. Devi per forza usare il secondo sistema (che non è molto efficiente, ma non sapendo che ci devi fare va bene comunque).
    ottimo! almeno adesso ne sono a conoscenza
  • Re: CHIARIMENTO SU CICLO FOR

    patel ha scritto:


    Non capisco la stampa del primo for, perché usi il for ? basta
    print(lista)
    print(listaOrdinata)
    era solo per fare un esempio in stile c++ diciamo..
    dove per stampare gli elementi di un array devi prima iterarli tutti appoggiandoti sull'inidice i che vai a interare.
    effettivamente in Python non è necessario
  • Re: CHIARIMENTO SU CICLO FOR

    Scusate se rispondo dopo ben 12 giorni… forse può esserti utile allo scopo la funzione zip:
    
    for a, b in zip([3,1,2],[1,2,3]):
        print(a, b)
    Le liste ovviamente puoi sostituirle con variabili e il print con l'opportuno costrutto if else..

    l'output è:
    3 1
    1 2
    2 3
Devi accedere o registrarti per scrivere nel forum
5 risposte