Some performance considerations
So, we've seen that we have many different ways of achieving the same result. We can use any combination of map()
, zip()
, and filter()
, or choose to go with a comprehension or a generator. We may even decide to go with for
loops; when the logic to apply to each running parameter isn't simple, these may be the best option.
Besides readability concerns, though, let's also talk about performance. When it comes to performance, usually there are two factors that play a major role: space and time.
Space means the size of the memory that a data structure is going to take up. The best way to choose is to ask yourself if you really need a list (or tuple), or whether a simple generator function would work instead.
If the answer is yes to the latter, go with the generator, as it will save a lot of space. The same goes for functions: if you don't actually need them to return a list or tuple, then you can transform them...