Lecture "Organising information: ordered structures", exercise 3
essepuntato opened this issue · 23 comments
Consider to have a queue obtained by processing, one by one, the elements included in the list of the first exercise, i.e. my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
. Describe the status of my_queue after the execution of each of the following operations: my_queue.popleft()
, my_queue.append("Voldemort")
, my_queue.popleft()
.
- my_queue = deque(["Harry", "Hermione", "Ron", "Severus"])
- my_queue = deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])
- my_queue = deque(["Hermione", "Ron", "Severus", "Voldemort"])
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft()
returns: Harry, Hermione, Ron, Severus
my_queue.append("Voldemort")
returns: Harry, Hermione, Ron, Severus, Voldemort
my_queue.popleft()
returns: Hermione, Ron, Severus, Voldemort
from collections import deque
my_queue= deque(["Draco", "Harry","Hermione", "Ron", "Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
from _collections import deque # This imports deque
my_queue = deque() # This creates a new queue
my_queue.append("Draco") # Now we add the elements
my_queue.append("Harry")
my_queue.append("Hermione")
my_queue.append("Ron")
my_queue.append("Severus")
deque(['Draco', 'Harry', 'Hermione', 'Ron', 'Severus'])
my_queue.popleft() # Now we execute the exercise
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
from _collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft()
# returns deque(['Harry', 'Hermione', 'Ron', 'Severus'])
my_queue.append("Voldemort")
# returns deque(['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort'])
my_queue.popleft()
#returns deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
status 1 - deque(["Harry", "Hermione", "Ron", "Severus"])
status 2 - deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])
status 3 - deque(["Hermione", "Ron", "Severus", "Voldemort"])
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
After my_queue.popleft()
my_queue
contains "Harry", "Hermione", "Ron", "Severus"
After my_queue.append("Voldemort")
my_queue
contains "Harry", "Hermione", "Ron", "Severus", "Voldemort"
After my_queue.popleft()
my_queue
contains "Hermione", "Ron", "Severus", "Voldemort"
from collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft() #it removes the string "Draco" from the queue and returns "Draco"
my_queue.append("Voldemort") #it adds the string "Voldemort" at the end of the queue
my_queue.popleft() #it removes the string "Harry" from the queue and returns "Harry"
print(my_queue) #the queue printed is: deque["Hermione", "Ron", "Severus", "Voldemort"]
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft() #current status: deque(["Harry", "Hermione", "Ron", "Severus"])
my_queue.append("Voldemort") #current status: deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])
my_queue.popleft() #current status: deque(["Hermione", "Ron", "Severus", "Voldemort"])
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft() #removes first element left from my_queue
print(my_queue)
my_queue.append("Voldemort") #adds string "Voldemort" at the end of my_queue
print(my_queue)
result_b = my_queue.popleft() #removes first element left from my_queue
print(my_queue)
deque(['Harry', 'Hermione', 'Ron', 'Severus']) # "Draco" has been removed
deque(['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort']) # "Voldemort" has been added at the end
deque(['Hermione', 'Ron', 'Severus', 'Voldemort']) # "Harry" has been removed
my_queue = deque(["Draco","Harry","Hermione","Ron","Severus"]):
my_queue.popleft() #the first item is removed and the algorithm returns deque(["Harry","Hermione","Ron","Severus"])
my_queue.append("Voldemort") #addition of this item
my_queue.popleft() #returns deque(["Hermione","Ron","Severus","Voldemort"])
print(my_queue) #it will print ["Hermione","Ron","Severus","Voldemort"]
from collections import deque
my_queue = deque(["Draco", "Harry","Hermione", "Ron", "Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
OUTPUT:
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
from collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
#will print
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
Initial queue: my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
1 - my_queue.popleft(): deque(["Harry", "Hermione", "Ron", "Severus"])
2 - my_queue.append("Voldemort"): deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])
3 - my_queue.popleft(): deque(["Hermione", "Ron", "Severus", "Voldemort"])
The queue will remove the first element, then add one, and remove the new first.
Operations will result in the following outputs:
["Harry", "Hermione", "Ron", "Severus"]
then
["Harry", "Hermione", "Ron", "Severus", "Voldemort"]
and finally
["Hermione", "Ron", "Severus", "Voldemort"]
from collections import deque
my_queue = deque(["Draco", "Harry","Hermione", "Ron", "Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
from collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue. popleft()
print(my_queue)
my_queue.append("Voldemort")
print(my_queue)
my_queue.popleft()
print(my_queue)
deque(['Harry', 'Hermione', 'Ron', 'Severus'])
deque(['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort'])
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
from collections import deque
my_queue = deque(["Draco","Harry","Hermione","Ron","Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(deque)
deque = (["Hermione","Ron","Severus","Voldemort"])
my_stack = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"]).
my_stack.pop(), my_stack.pop() return
my_stack = deque(["Draco", "Harry", "Hermione", "Ron"]).
my_stack = deque(["Draco", "Harry", "Hermione"])
my_stack.append("Voldemort") returns
my_stack = deque(["Draco", "Harry", "Hermione", "Voldemort"])
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
after: my_queue.popleft(), my_queue.append("Voldemort"), my_queue.popleft() returns
(["Harry", "Hermione", "Ron", "Severus"])
(["Harry", "Hermione", "Ron", "Severus", "Voldemort"])
(["Hermione", "Ron", "Severus", "Voldemort"])
from collections import deque
queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
queue.popleft()
print(queue) #(['Harry', 'Hermione', 'Ron', 'Severus'])
queue.append("Voldemort")
print(queue) #(['Harry', 'Hermione', 'Ron', 'Severus', 'Voldemort'])
queue.popleft()
print(queue) #(['Hermione', 'Ron', 'Severus', 'Voldemort'])
from collections import deque
my_queue = deque(["Draco", "Harry", "Hermione", "Ron", "Severus"])
my_queue.popleft()
my_queue.append("Voldemort")
my_queue.popleft()
print(my_queue)
deque(['Hermione', 'Ron', 'Severus', 'Voldemort'])
my_queue:
after my_queue.popleft() --> my_queue = deque(["Harry", "Hermione", "Ron", "Severus"])
after my_queue.append("Voldemort") --> my_queue = deque(["Harry", "Hermione", "Ron", "Severus", "Voldemort")]
after my_queue.popleft() --> my_queue = deque(["Hermione", "Ron", "Severus", "Voldemort")]