[python] inline if

Michal Molhanec molhanec na seznam.cz
Pátek Březen 7 23:19:15 CET 2008


Dusan Zatkovsky napsal(a):
> Ach, ruky su zase rychlejsie, ako hlava.
> 
> Samozrejme na syntax X or Y som narazil, ale ja to mam este okorenene takto:
> 
> d = { 'foo': 1, 'faa': 2 }
> 
> x = d['foo'] or 1
> y = d['faa'] or 2
> z = d['neexistujuci_index'] or 3
> 
> Na tom 'z' to samozrejme raisne KeyError. Preto sa pytam, ci existuje nejaka 
> moznost zapisat to inline, pretoze to chcem pouzit vo volanii funkcie.
> 
> # takto teda nie :o)
> x = callSomeFunction ( d['foo'] or 1, d['faa'] or 2, d['neexistujuci_index'] 
> or 3 )

misto d['klic'] pouzijte d.get('klic'), to v pripade neexistence klice 
vrati None, coz se vyhodnoti jako nepravda


Další informace o konferenci Python