[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