[python] Buducnost Pythonu: lambda, map, filter

Pavel Kosina geon na post.cz
Pátek Listopad 10 15:53:16 CET 2006


Petr Prikryl napsal(a):
> 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.
>
>   
Stejný počet řádků:

import sys
import glob

arguments = sys.argv[1:]
files = [glob.glob(mask) for mask in arguments]
print files

-- 
geon
Pavel Kosina



Další informace o konferenci Python