This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author nemeskeyd
Recipients nemeskeyd
Date 2021-09-23.15:05:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1632409506.27.0.197043194996.issue45271@roundup.psfhosted.org>
In-reply-to
Content
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`.
History
Date User Action Args
2021-09-23 15:05:06nemeskeydsetrecipients: + nemeskeyd
2021-09-23 15:05:06nemeskeydsetmessageid: <1632409506.27.0.197043194996.issue45271@roundup.psfhosted.org>
2021-09-23 15:05:06nemeskeydlinkissue45271 messages
2021-09-23 15:05:06nemeskeydcreate