New submission from Dávid Nemeskey <[email protected]>:
There is an unjustified asymmetry between `str` and `list`, as far as lookup
goes. Both have an `index()` method that returns the first index of a value, or
raises a `ValueError` if it doesn't exist. However, only `str` has the `find`
method, which returns -1 if the value is not in the string.
I think it would make sense to add `find` to `list` as well. For starters, it
would make the API between the two sequence types more consistent. More
importantly (though it depends on the use-case), `find` is usually more
convenient than `index`, as one doesn't have to worry about handling an
exception. As a bonus, since `list` is mutable, it allows one to write code
such as
if (idx := lst.find(value)) == -1:
lst.append(value)
call_some_function(lst[idx])
, making the method even more useful as it is in `str`.
----------
messages: 402497
nosy: nemeskeyd
priority: normal
severity: normal
status: open
title: Add a 'find' method (a'la str) to list
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue45271>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com