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:
| Funzione | Cosa 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.