C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)と怒られた時

pylintを使っていると、C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)と怒られました。原因とその回避方法について。

目次

pylintで怒られる

たとえば以下のようなコードを書く。

test_list = []

if len(test_list) == 0:
    print('empty')

特に間違いというわけではなく、きちんと動作する。が、pylintにかけると以下のような警告をされる。

C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)

空チェックにlen(SEQUENCE)を使うな、と怒っている。

対応

ではどうするかというと、以下のように書く。

test_list = []

if not test_list:
    print('empty')

bool([]) でFalseが返るとのこと。リストが空でないときは if test_list: と書ける。PEP 8、こんなところまで決めてるんですね。

参考

ありがとうございましたm(_ _)m

この記事をいいなと思っていただけた方、よければ高評価・チャンネル登録……はないので、コメント・SNSでシェア・ブックマーク、RSSフィード登録を、よろしくお願い致します。

コメント

コメントする

目次