MENU

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

この記事が気に入ったら
フォローしてね!

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

コメント

コメントする

目次