[python] Spojovani retezcu: (bylo: Rekurzivní generátor v Pythonu 3?)

Petr Messner petr.messner na gmail.com
Neděle Srpen 28 17:40:25 CEST 2016


Díky Honzo za odkaz. 

Jinak - Python, Ruby, Java, C++, na jazyku nezáleží... Musím vědět, jestli daná operace manipuluje s některým svým operandem, nebo vytváří novou hodnotu. A protože jsou stringy v Pythonu immutable, tak jako programátor bych měl tušit, že se bude kopírovat. A dát si pozor na případy, kdy se bude kopírovat furt dokola.

Že to pypy nějak umí optimalizovat je hezké, ale i kdybych ho používal, tak fakt není dobré spoléhat se na to, že mi překladač opraví chybu v samotném návrhu algoritmu.

Petr Messner

28. 8. 2016 v 17:04, Honza Král <honza.kral na gmail.com>:

> 2016-08-28 16:51 GMT+02:00 Jirka Vejrazka <jirka.vejrazka na gmail.com>:
>> Jenom poznamka ne okraj:
>> 
>> "nedělej skládání řetězců stylem txt += part, je to strašně pomalé (O(n^2)
>> místo O(n)).. Z txt si udělej list a používej append: txt.append(part) a na
>> konci "".join(txt)."
>> 
>> Tohle platilo nekdy do vydani Pythonu 2.5. V te verzi bylo spojovani retezcu
>> pomoci += vyrazne zrychleno a dnes uz to neni takove vykonove omezeni, jako
>> driv.
> 
> Pokud je tech textu vice, .join() je stale lepsi, vice detailu:
> https://youtu.be/odjpaKL-Fsg?t=20m45s
> 
>> 
>> Ale je fakt, ze ''.join pouzivam ze zvyku taky :)
>> 
>>  Jirka
>> 
>>> On 28 August 2016 at 13:52, Petr Messner <petr.messner na gmail.com> wrote:
>>> 
>>> 
>>> co takhle tohle?
>>> 
>>> 
>>> <verse>a b <mark sID="x"> c d</verse><verse>e f<mark eID="x"> g h</verse>
>>> 
>>> 
>>> Oprava:
>>> 
>>> <verse>a b <mark sID="x"/> c d</verse><verse>e f<mark eID="x"/> g
>>> h</verse>
>>> 
>>> PM
>>> 
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>> 
>>> Visit: http://www.py.cz
>> 
>> 
>> 
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>> 
>> Visit: http://www.py.cz
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> Visit: http://www.py.cz


Další informace o konferenci Python