tags: Coda_Python Queue python python_offensive


Sintassi di base:

 
import queue from Queue
 
coda = Queue()
coda.put("admin")
coda.put("login")
coda.put("backup")
 
print(coda.get())  # "admin"
print(coda.get())  # "login"
print(coda.get())  # "backup"
 

Con il ciclo for potremmo utilizzare questa sintassi:

 
for path in paths:  #Per riempire la coda
    coda.put(path)
    
path = coda.get()   #Per svuotare la coda     
    

Quindi per riassumere le uniche funzioni che ti servono sono tre:

FunzioneCosa fa
Queue()Crea la coda vuota
.put(valore)Aggiunge un elemento
.get()Prende e rimuove il primo elemento

Esercizietto

Esercizio

Hai una lista di indirizzi email da processare:

email = ["mario@gmail.com", "luigi@yahoo.com", "peach@hotmail.com", "bowser@gmail.com"]

Crea una coda, riempila con tutte le email tramite un ciclo for, poi svuotala stampando ogni email una alla volta nel formato:

Processando: mario@gmail.com
Processando: luigi@yahoo.com
...
from queue import Queue
 
email = ["mario@gmail.com", "luigi@yahoo.com", "peach@hotmail.com", "bowser@gmail.com"]
 
 
coda = Queue()
 
for mail in email:
 
        coda.put(mail)
        print(f"Processando: {coda.get()}")

Si poteva anche risolvere tramite due cicli for:

for mail in email:
    coda.put(mail)
 
# secondo ciclo per svuotare
for mail in email:
    print(f"Processando: {coda.get()}")

Prima riempi tutta la coda, poi la svuoti. È utile quando le due operazioni devono essere separate.