[python] Metody korenoveho objektu
Jan Svec
honza na py.cz
Pondělí Duben 7 15:14:30 CEST 2003
On Mon, 7 Apr 2003, Petr Vaněk wrote:
> Dne po 7. dubna 2003 14:11 Jan Svec napsal(a):
> > A co je ono collect, select atd.? Ne kazdy zna Smalltalk
> > jako oni. Nejde to pomoci map, reduce, filter nebo strucneho
> > seznamu?
>
> smalltalkovy pseudokod:
>
> seznam = [1 2 3 4 5] v pythonu [1,2,3...]
> novySeznam = seznam select: [:x, x>3]
> novySeznam je ted [4 5]
>
> http://www.gnu.org/software/smalltalk/gst-manual/gst_74.html
>
> v podstate vsechno ostatni krome "select" jde osetrit pomoci
> map atd., ale opravdu mne nenapada, jak select jednoduse
> implementovat treba nad dictionary...
Jestli jsem to vsechno dobre pochopil, tak budes potrebovat
strucny slovnik. Uz jsme se specialne o tomhle bavili na
sraziku, takze budes moc psat neco jako. Bohuzel je to stale
jeste hudba budoucnosti:
d = {1: 'jedna', 2: 'dve', 3: 'tri', 4: 'ctyri'}
novy_d = {k: v for k, v in d.iteritems() if k > 3}
Pak v novy_d budes mit podmnozinu d kde klice budou vetsi
nez 3. Vic se toho dozvis z PEP274. Je tam i obecna
formulka, jak strucny seznam pretvorit na dictionary, podle
toho dojdes k necemu takovemu:
novy_d = dict([(k, v) for k, v in d.iteritems() if k > 3])
Viva iteratory!
--
S pozdravem .-------------------------.
Jan Svec | Znate jazyk Python? NE? |
| zkuste http://www.py.cz |
.--------------+-------------------------+
| <honza na py.cz> |
| http://www.py.cz/Members/honza |
| honzas na jabber.cz |
`----------------------------------------'
Další informace o konferenci Python