Ok! Had a nice refreshing break, yesterday being Sunday.
Back to work today!
If today’s notes, feel a little light, that’s because I was struggling with exercises.
Notes
Part 2
- A lightweight solution to classes, if I am just combining all sorts of data structures is the built-in 
collections. Some of them could be- List of Lists
 - List of Tuples
 - List of Dictionaries
 - Dictionary of Dictionaries
 - Dictionary of Lists
 
 - Mostly use them to solve tricky issues. If I find myself using lots of functions, just to deal with these structures, I am better off using classes.
- These structures also lend themselves to being converted into classes.
 - Sometimes it’s just a matter of adding a few methods, et voilà, I have a class!
 
 
Lists of lists
- As simple to create as 
l = [[1,3,2],[4,5,6],[7,8,9]]- If I do a 
l[0], I’ll get the first element, the list[1,3,2 - To get at the elements inside that list, I can go 
l[0][2]which will give me the number, 3. - Behind the scenes, 
l.__getitem__(0).__getitem__(2) 
 - If I do a 
 - We can either work with them with indices like up above, or iterate over them, with for loops or comprehensions
 - Better to use lists of tuples, if I am dealing with mixed types, specially those that are not apt to change, like records of some sort. Something like a list of details about movies.
 
Learning / Feedback/ Experiences from doing exercises
- Learning to think atomically. Learning to break down each exercise into pieces and then learning to organise them in a manner, that I can solve it, step by step.
- What hints do Reuven’s results show?
 - What should I compare first? What will be the aftermath? and so on.
 
 - Gave up an exercise after two hours of trying.
- After peeking at the solution I realised that it was not because of something I forgot or did not practice, but once again, because of something I did not know.
 - in this case that there are set operators to use between two iterator objects.instead of crazily stepping through everything like I did below, I could’ve just created a union list run through them.
 
 - Just goes to show, there is lots for me to learn. And that there is a lot of tacit knowledge out there. And this I will only be able to figure out by writing lots of code!
 - Also (note to self), time your self and be ok with giving up and looking at the solution. I seem to keep thinking that I am wrong or am missing something. Never the fact, that it might be something that I do not know.
- I am now strictly going to give myself 30 minutes per exercise and then move on.
 
 - Lots of mistakes as usual.
- Wrong indentation, giving weird results.
 
 
Read all about my Python advanced data structures journey here