Heat the oven to 350°F (175°C). Grease and line a 9x5-inch loaf pan with parchment, letting some overhang for easy removal.
In a medium bowl whisk together the flour, baking powder, baking soda, cinnamon, nutmeg, ground ginger and salt until evenly combined; set aside.
In a large mixing bowl, beat the softened butter and sugar together until lighter in color and slightly fluffy (about 2 minutes). With the mixer running, pour in the oil in a thin stream until incorporated.
Add the eggs one at a time, beating briefly after each addition. Stir in the mashed banana, lemon zest and vanilla until the mixture is uniform but not overbeaten.
Fold the dry ingredients into the wet mixture using a spatula, mixing just until there are no large streaks of flour. Gently fold in the squeezed grated zucchini and the chopped walnuts.
Scrape the batter into the prepared pan, smooth the top, and bake on the center rack for 50–60 minutes. Start checking at 50 minutes — a toothpick inserted in the center should come out with a few moist crumbs. If the top browns too quickly, tent with foil.
Remove the loaf from the oven and let it cool in the pan for 15 minutes. Use the parchment overhang to lift the bread onto a wire rack and cool completely before slicing (about 45 more minutes) to set the crumb.