Efficient Python part 3: Gaining efficiency
5 min readAug 23, 2022
Welcome to the third part out of four in the series on how to write more efficient python code. In the first part, we checked the very basics: Pythonic code, built-in functions, and just a bit on how numpy can improve speed. In the second part we learned how to measure which code is faster and enable comparison of efficiency. As a recap, the series comprehends:
- Efficient Python Part 1: Start with the Basics
- Efficient Python Part 2: Tools for Evaluating Your Code
- Efficient Python Part 3: Increasing code performance
- Efficient Python Part 4: Optimisation for Pandas
Combining, counting and iterating
let’s say we have a list os pokemons and we want to combine:
names = ['Bulbasaur','Charmander','Squirtle']
hps = [45,39,44]combined = []for i,pokemon in enumerate(names):
combined.append((pokemon,hps[i]))print(combined)
But this is not elegant and efficient.
Then, use Zip:
names = ['Bulbasaur','Charmander','Squirtle']
hps = [45,39,44]combined_zip = zip(names, hps)
# combined zip is packed, then use * to unpack
combined_zip_list [*combined_zip]
print(combined_zip_list)