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

関連コンテンツ

関連記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。