On 21 July 2013 13:28, Serhiy Storchaka <storch...@gmail.com> wrote:
> 21.07.13 14:29, Joshua Landau написав(ла):
>
>> On 21 July 2013 08:44, Serhiy Storchaka <storch...@gmail.com> wrote:
>>>
>>> 20.07.13 20:03, Joshua Landau написав(ла):
>>>
>>>> Still, it seems to me that it should be optimizable for sensible
>>>> builtin types such that .translate is significantly faster, as there's
>>>> no theoretical extra work that .translate *has* to do that .replace
>>>> does not, and .replace also has to rebuild the string a lot of times.
>>>
>>>
>>> You should analyze overall mapping and reorder items in right order (if
>>> it
>>> possible), i.e. '&' should be replaced before '<' in html.escape. This
>>> extra
>>> work is too large for most real input.
>>
>>
>> I don't understand. What items are you reordering?
>
>
> mapping.items(). We can implement s.translate({ord('<'): '&lt;', ord('&'):
> '&amp;'}) as s.replace('&', '&amp;').replace('<', '&lt;'), but not as
> s.replace('<', '&lt;').replace('&', '&amp;').

I see -- that won't always be the case though, as there can be "loops"
aka "ab" -> "ba".
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to