Prefer the data structure that makes the most sense given the data going into it.
dict
s are great, but, for example, they don't hold order: so if you want to iterate over the values in order you will have to sort based on key, which produces complexity and makes it hard to read.
In general, it's unlikely that using dict
s everywhere instead of list
s will make meaningful speed increases to your application - it's premature optimization.
What is far more important is what makes sense to readers and modifiers of your code, and what is most suitable for the data you are trying to store. Where you are storing a sequence of data, use a list
. Where you are storing a mapping, use a dict
.