Hey, I'm almost out of coffee, so it's probably time to take another…, but #40 forced me to stop for a while.
Please, check out just `dictionary.keys()` or `list(dictionary.keys())`, if you want plain vanilla python list (you really need a subscriptable object). The first is somehow 6 times faster than list comprehension over `dictionary.items()`. The second one almost twice. And `simple is better than complex`.
That remark applies to #41 as well (now with `dictionary.values()`).
I'm keeping reading.
Python is beautiful and its acyncio is an excellent accelerator for IO intensive tasks. When you do web applications it is mostly the case you should be happy with, but not all issues are as such. When you have to get into massive calculations, it is important to know how to divide the job and get it done by more than one of available cores at once, in parallel. Your laptop has probably 8 of them. Maybe more.
I have recently faced such a challenge, so that was excellent time for parallelism reminiscence and a quick research for managing with…