Re: Two python issues

Liste des GroupesRevenir à cl python 
Sujet : Re: Two python issues
De : PythonList (at) *nospam* DancesWithMice.info (dn)
Groupes : comp.lang.python
Date : 05. Nov 2024, 23:41:59
Autres entêtes
Organisation : DWM
Message-ID : <mailman.85.1730843499.4695.python-list@python.org>
References : 1 2 3
User-Agent : Mozilla Thunderbird
On 6/11/24 10:08, Jason Friedman via Python-list wrote:
>
(a) An error-prone "feature" is returning -1 if a substring is not found
by "find", since -1 currently refers to the last item. An example:
>
  >>> s = 'qwertyuiop'
  >>> s[s.find('r')]
'r'
  >>> s[s.find('p')]
'p'
  >>> s[s.find('a')]
'p'
  >>>
>
If "find" is unsuccessful, an error message is the only clean option.
Moreover, using index -1 for the last item is a bad choice: it should be
len(s) - 1 (no laziness!).
>
 I'm not sure if this answers your objection but the note in the
documentation (https://docs.python.org/3/library/stdtypes.html#str.find)
says:
 The find() method should be used only if you need to know the position of
sub.
 I think the use case above is a little bit different.
Not really, there are two questions:
1. is x in sequence (or in this case "not in")
2. where is x within sequence (find())
There are situations where one might be used, similarly where the other will be used, and still more where both apply.
That said, and with @Cameron's observation, the idea that a function's return-value (appears to) performs two functionalities is regarded as a 'code-smell' in today's world - either it indicates "found" or it indicates "where found" (see also various APIs which return both a boolean: success/fail, and a value: None/valid-info).
The problem with the third scenario being that purity suggests we should use both (1) and (2) which seems like duplication - and is certainly going to take more CPU time.
(will such be noticeable in your use-case?)
Backward-compatibility... ('nuff said!)
With reference to the OP content about slicing:
- Python's memory-addressing is different from many other languages. Thus, requires study before comparison/criticism
- there are major differences in what can be accomplished with mutable and immutable objects
--
Regards,
=dn

Date Sujet#  Auteur
5 Nov 24 o Re: Two python issues1dn

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal