On Tue, Oct 25, 2016 at 05:15:58PM +0200, Mikhail V wrote:

[...]
> >Or it can take a mapping (usually a dict) that maps either characters or
> >ordinal numbers to a new string (not just a single character, but an
> >arbitrary string) or ordinal numbers.
> >
> >    str.maketrans({'a': 'A', 98: 66, 0x63: 0x:43})
> 
> >(or None, to delete them). Note the flexibility: you don't need to
> 
> Good. But of course if I do it with big tables, I would anyway
> need to parse them from some table file. Typing all values
> direct in code is not a comfortable way.

Why not? What is the difference between typing

123: 456
124: 457
125: 458
# two hundred more lines


in a "table.txt" file, and typing:

{
123: 456,
124: 457,
125: 458,
# two hundred more lines
}


in a "table.py" file? The difference is insignificant. And the Python 
version can be cleaned up:

for i in range(123, 333):
    table[i] = 456 - 123 + i


Not all data whould be written as code, especially if you expect 
unskilled users to edit it, but generating data directly in code is a 
very powerful technique, and the strict syntax of the programming 
language helps prevent some errors.


[...]
> Motivation is that those can be optimised for speed 

That's not a motivation. Why are you talking about "optimizing for 
speed" functions that we have not yet established are needed?

That reminds me of a story I once heard of somebody who was driving 
across the desert in the US once. One of his passengers noticed the 
highway signs and said "Wait, aren't we going the wrong way?" The driver 
replied "Who cares, we're making fantastic time!"

Optimizing a function you don't need is not an optimization. It is a 
waste of time.


-- 
Steve
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to