During my first year studying computer science, one of my courses were called "Datenstrukturen und Algorithm" (data structures and algorithm). Since then, I'm fascinated with complexity and runtime of my own code - back then I was happy when it worked, now I higher standards to my code ;)
This is a short and really well written book and I recommended to my team members to have a look into it. I'm working with Python since over 10 years and a lot of the stuff was already known, but I never had a such close look to it. And even so, there were two gold nuggets which I still find fascinating:
The += operator for strings is slower and worse for memory than ''.join(), but for lists += is faster than .extend()! And now I know what I will do tomorrow in between tasks: checking my code for the slower solution and replace it where possible ;)