Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

You're definitely on their list. The question to ask next is what list it is.


comp / comp.lang.python / Re: Two python issues

SubjectAuthor
o Re: Two python issuesCameron Simpson

1
Subject: Re: Two python issues
From: Cameron Simpson
Newsgroups: comp.lang.python
Date: Tue, 5 Nov 2024 21:06 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!feeder2.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: cs@cskk.id.au (Cameron Simpson)
Newsgroups: comp.lang.python
Subject: Re: Two python issues
Date: Wed, 6 Nov 2024 08:06:12 +1100
Lines: 40
Message-ID: <mailman.82.1730840778.4695.python-list@python.org>
References: <700403c2-e052-4670-b2ec-eaf9b4babada@pandora.be>
<ZyqIxGMojbeDzq63@cskk.homeip.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
X-Trace: news.uni-berlin.de hEAAa72BbuNwngB94n7zhw7MMU8bXN88RfW1FdHczjQQ==
Cancel-Lock: sha1:O923pUtVLDJXbiDXh7acqyB3LYA= sha256:LZJOaFe51Vwb7TsqNGPNfwpicsFiDC2RjESKUSbQEDw=
Return-Path: <cameron@cskk.id.au>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.004
X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'is.': 0.05; 'string':
0.07; 'tests': 0.07; 'cc:addr:python-list': 0.09; 'something,':
0.09; 'subject:python': 0.10; 'cheers,': 0.11; 'cc:no real
name:2**0': 0.14; 'cameron': 0.16; 'circumstance': 0.16;
'feature.': 0.16; 'found.': 0.16; 'from:addr:cs': 0.16;
'from:addr:cskk.id.au': 0.16; 'from:name:cameron simpson': 0.16;
'length.': 0.16; 'loops': 0.16; 'message-id:@cskk.homeip.net':
0.16; 'option.': 0.16; 'received:13.237': 0.16;
'received:13.237.201': 0.16; 'received:13.237.201.189': 0.16;
'received:cskk.id.au': 0.16; 'received:id.au': 0.16;
'received:mail.cskk.id.au': 0.16; 'simpson': 0.16; 'wrote:': 0.16;
'api': 0.17; 'instead': 0.17; 'calls': 0.19; 'subject:issues':
0.19; 'cc:addr:python.org': 0.20; "i've": 0.22; 'cc:2**0': 0.25;
'old': 0.27; 'error': 0.29; 'header:User-Agent:1': 0.30; 'seem':
0.31; 'elements': 0.32; 'language.': 0.32; 'negative': 0.32;
'obtain': 0.32; 'returning': 0.32; 'but': 0.32; 'there': 0.33;
'header:In-Reply-To:1': 0.34; 'same': 0.34; 'item': 0.35;
'received:au': 0.35; 'lists': 0.37; 'currently': 0.37; 'using':
0.37; 'way': 0.38; 'error,': 0.38; 'quite': 0.39; 'otherwise':
0.39; 'true.': 0.40; 'want': 0.40; 'should': 0.40; 'view': 0.60;
'less': 0.64; 'received:13': 0.64; 'look': 0.65;
'received:userid': 0.66; 'bad': 0.67; 'change.': 0.69; 'refers':
0.69; 'sequence': 0.69; 'depending': 0.70; 'late': 0.73; 'poor':
0.76; 'choices': 0.84; 'indices': 0.84; 'preceding': 0.84;
'affect': 0.91; 'suffer': 0.91
Mail-Followup-To: Raymond Boute <raymond.boute@pandora.be>,
python-list@python.org
Content-Disposition: inline
In-Reply-To: <700403c2-e052-4670-b2ec-eaf9b4babada@pandora.be>
User-Agent: Mutt/2.2.13 (2024-03-09)
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <ZyqIxGMojbeDzq63@cskk.homeip.net>
X-Mailman-Original-References: <700403c2-e052-4670-b2ec-eaf9b4babada@pandora.be>
View all headers

On 05Nov2024 15:48, Raymond Boute <raymond.boute@pandora.be> wrote:
>Python seem to suffer from a few poor design decisions regarding
>strings and lists that affect the elegance of the language.
>
>(a) An error-prone "feature" is returning -1 if a substring is not
>found by "find", since -1 currently refers to the last item.

`find` is a pretty old API interface. It is what it is. It may obtain
some of its design choices from C style calls where returning -1 for
failure was a common idiom.

>If "find" is unsuccessful, an error message is the only clean option.

This is not true. Often we want to look for something, and act one way
or another depending on whether it is found. I've got plenty of loops
and other tests which more or less go "run until this is not found". It
is not an error, it is just a circumstance to accomodate.

>Moreover, using index -1 for the last item is a bad choice: it should
>be len(s) - 1 (no laziness!).
>Negative indices should be reserved for elements preceding the element
>with index 0 (currently not implemented, but a must for orthogonal
>design supporting general sequences).

It is _far_ too late to propose such a change.

Plenty of us are quite hapoy with negative indices. We just view them as
counting backwarss from the end of the string or sequence instead of
forwards from the beginning.

>(b) When using assignment for slices, only lists with the same length
>as the slice should be acceptable, otherwise an error should be
>given.

There are many many circumstances where we replace a subsequence with a
different subsequence of different length. Outlawing such a thing would
remove and extremely useful feature.

Cheers,
Cameron Simpson <cs@cskk.id.au>

1

rocksolid light 0.9.8
clearnet tor