Quando guardo alle domande poste su siti come StackOverflow su come rendere un particolare pezzo di codice "più pythonic" di solito ci sono suggerimenti offerti per usare complesse liste di comprensione o generatori o altre caratteristiche di Python che non sono disponibili in , per esempio, Java.
Sono un programmatore Python casuale, ea volte non riesco a seguire quello che sta succedendo senza scartare con cura la logica nella mia testa. A volte le intese delle liste sono nidificate in modi che sto pensando "probabilmente dovresti scriverlo usando i loop".
Ovviamente, gli utenti veterani di Python probabilmente non avranno un problema con questo, ma ho sempre più l'impressione che "il codice pythonic" sia preferito rispetto alla scrittura di codice che potrebbe essere letto per il "programmatore medio" che potrebbe non essere molto abile in Python.
In generale, quali sono le linee guida e le euristiche da seguire quando si sceglie tra la leggibilità del codice e le convenzioni utilizzate in una specifica comunità linguistica di programmazione?