Esiste un modo per testare il ritorno di una funzione in una lista (o dict) di comprensione? Mi piacerebbe evitare di scrivere che:Comprensione degli elenchi Python: test function return
lst = []
for x in range(10):
bar = foo(x)
if bar:
lst.append(bar)
e utilizzare invece una comprensione di lista. Ovviamente, non voglio scrivere:
[foo(x) for x in range(10) if foo(x)]
così?
[foo(x) for x in range(10) if ??? ]
Perché non si desidera utilizzare il primo modo? È il modo appropriato. –
@Rohit Jain - a seconda di 'foo', potrebbe essere un'operazione costosa che non si desidera eseguire due volte. – mgilson
@mgilson: E nel primo esempio, lo fa solo una volta. –