[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