<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-02-09 16:35 GMT+01:00 Honza Král <span dir="ltr"><<a href="mailto:honza.kral@gmail.com" target="_blank">honza.kral@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">ne, o tom jsem nemluvil, predpokladam python 3 :)<br>
<br>
Materializuje se kvuli predani do intersection - viz operator '*'<br></blockquote><div><br></div><div>To se dá vyřešit třeba nahrazením:</div><div><br></div><div><span style="font-size:12.8000001907349px">... set.intersection(</span><span style="font-size:12.8000001907349px">*map( ...</span><br></div><div><br></div><div>za:</div><div><br></div><div>... reduce(set.intersection, map( ...</div><div><br></div><div>a je to čistě funkcionální (bez ohledu na to jestli je to "Pythonic").</div><div><br></div><div><br></div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">> Mě se líbí explicitní použití funkcí map() a filter(), protože je to pro začátečníka čitelnější a pochopitelnější, než List Comprehension<br><br></span>Tohle me zajima - ja mam presne opacnou zkusenost. Bavime se o<br>zacatecnicich v programovani (s temi mam zkusenost ja), ci jen<br>zacatecniky s pythonem, ale programatory?</blockquote></div><div><br></div><div><br></div><div>Myslím si, že pro člověka, který vidí poprvé map a filter a List Comprehension, je snažší najít si v dokumentaci co dělají funkce map a filter a pochopit je samostatně. Protože to jsou dvě oddělené věci. Zatímco když se použije List Comprehension kombinující map i filter v jednom zápise, tak je tam toho na rozluštění a pochopení více. A taky ten List Comprehension nejde snadno dohledat v dokumentaci, protože z kódu není poznat, jak se to jmenuje (neobsahuje klíčová slova jako "map" či "filter").</div><div><br></div><div>Nějakou zásadnější osobní zkušenost s výukou nemám. Ale minimálně na škole jsem se setkal s tím, že se úplní začátečníci učí nejdříve funkcionální paradigma, tak by ten map a filter mělo být snadné pochopit pro kohokoliv. Nicméně naučit se místo toho v Pythonu rovnou List Comprehension určitě není na škodu.</div><div><br></div><div>Honza</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class="im">Honza Král<br>
E-Mail: <a href="mailto:honza.kral@gmail.com">honza.kral@gmail.com</a><br>
Phone:  <a href="tel:%2B420%20606%20678585" value="+420606678585">+420 606 678585</a><br>
<br>
<br>
</span><div class=""><div class="h5">2015-02-09 16:34 GMT+01:00 Pavel S <<a href="mailto:pavel@schon.cz">pavel@schon.cz</a>>:<br>
> Jeste pokud bychom se chteli zbavit 'materializace seznamu uprostred', lze in-place pouzit itertools.ifilter a itertools.imap.<br>
><br>
> Dne pondělí 9. února 2015 16:17:52 UTC+1 Pavel S napsal(a):<br>
>> Na pythonu je krasne, ze jedna a tataz vec lze udelat mnoha zpusoby a ja nabidnul jeden z nich:<br>
>><br>
>> * nemeni vnitrni stav oproti reseni s pop()<br>
>> * nepouziva operator & na setu, cimz me nenuti zjistovat, co tento operator vlastne dela. (intersection je jasne...)<br>
>> * nepouziva list comprehension<br>
>> * je rozepsane do vice radku, primocare a jasne citelne<br>
> _______________________________________________<br>
> Python mailing list<br>
> <a href="mailto:python@py.cz">python@py.cz</a><br>
> <a href="http://www.py.cz/mailman/listinfo/python" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br>
><br>
> Visit: <a href="http://www.py.cz" target="_blank">http://www.py.cz</a><br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:python@py.cz">python@py.cz</a><br>
<a href="http://www.py.cz/mailman/listinfo/python" target="_blank">http://www.py.cz/mailman/listinfo/python</a><br>
<br>
Visit: <a href="http://www.py.cz" target="_blank">http://www.py.cz</a><br>
</div></div></blockquote></div><br></div></div>