2 comments

[ 2.8 ms ] story [ 18.4 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