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

本サイトはUXを悪くするevilなGoogle広告を消しました。応援してくださる方は おすすめガジェット を見ていってください!

またはストイック?な英語多読学習アプリ 生成AIで無限に英語を読める多読学習Webサービスを作った:目指せ百万語 - 或る阿呆の記 をよろしくお願いします!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次