[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