There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
You can also find further discussion and get answers to your questions over in Language Help.
Agree with a comment or answer? Like () to up-vote the contribution!
What are the benefits of using UserDict as a parent class of a custom data structure compared to using dict as a parent class of a custom data structure? What are the benefits of using dict as a parent class of a custom data structure compared to using Userdict as a parent class of a custom data structure?
I’m a little confused by the solution - where is refers to self.data,items() - where does the actual data part come from?
is that because data is fed into the class initiation and if so doesn’t it make this particular class quite fragile as not all dictionaries would be called data so not sure it’s coded very robustly (if I’ve understood the intent correctly).
I think I get it now, there is a data property in the parent UserDict class I didn’t have visibility of, I have to lookup the details on Python.org to better understand that on.
I had overlooked the item in the description that explained this:
" This class contains all of the functionality of a normal dict , except that we can access the dictionary data through the data property."
Why do I get a “type error: string indices must be integers” when using the code block below?
My reasoning is that we first iterate through each Order and then access each Orders dictionary with the key “order_status”…
data = {'order_4829': {'type': 't-shirt', 'size': 'large', 'price': 9.99, 'order_status': 'processing'},
'order_6184': {'type': 'pants', 'size': 'medium', 'price': 14.99, 'order_status': 'complete'},
'order_2905': {'type': 'shoes', 'size': 12, 'price': 22.50, 'order_status': 'complete'},
'order_7378': {'type': 'jacket', 'size': 'large', 'price': 24.99, 'order_status': 'processing'}}
# Write your code below!
from collections import UserDict
class OrderProcessingDict(UserDict):
def clean_orders(self):
del_items = []
for order in self.data:
if order["order_status"] == "complete":
del_items.append(order)
for order in del_items:
del self.data[order]
process_dict = OrderProcessingDict(data)
process_dict.clean_orders()
I am having issues with the whole collections module, since I feel it is didactically poorly designed.
It’s more or less just memorizing collections one after another. The examples are superficial and I still don’t see the real world application in many of them. I already dont remember the first collections I’ve learned a few weeks ago, despite that doing the respective excersise takes effort and time.