[python] Buducnost Pythonu: lambda, map, filter
Petr Prikryl
PrikrylP na skil.cz
Pátek Listopad 10 15:20:47 CET 2006
Roman Miklos
> [...]
> 1) pri rozvinuti argumentov s wildcard-znakmi (?, *)
> na platne cesty, kde map() a reduce() umoznuju takyto
> kompaktny zapis:
> argument = sys.argv[1:]
> filez = reduce(operator.add, map(glob.glob, argument))
Předpokládám, že samostatný skript by mohl vypadat nějak takto:
test.py
========================================
import sys
import glob
arguments = sys.argv[1:]
files = reduce(lambda a, b: a+b, map(glob.glob, arguments), [])
print files
========================================
V tomto případě bych byl asi o dva řádky delší. Odhaduji,
že víc lidí by rozumělo lépe tomu druhému zápisu.
test.py
========================================
import sys
import glob
arguments = sys.argv[1:]
files = []
for mask in arguments:
files.extend(glob.iglob(mask))
print files
========================================
pepr
Další informace o konferenci Python