2 comments

[ 6.0 ms ] story [ 18.0 ms ] thread
Linters are indeed excellent tools.

A "what's wrong" which the linters don't find is that for/else is one of the more confusing aspects of the Python language, and should be avoided when there are equally clear alternatives.

That is, I believe that

    for entry in entries:
        if entry == key:
            break
    else:
        raise NotFoundError
is better written as:

    if not any(entry == key for entry in entries):
        raise NotFoundError