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
- PEP 8 — Style Guide for Python Code | Python.org
- python – Why is the use of len(SEQUENCE) in condition values considered incorrect by Pylint? – Stack Overflow
- [Python] listが空かどうか判定する方法2つ – Qiita
関連記事
Python の記事
- [2023年3月27日] Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する
- [2023年3月21日] motoでDynamoDBのMockを作成する
- [2021年11月18日] GKE + Flask で REST API
- [2019年5月23日] SendGridのAPIでPythonライブラリ(6.0.5)を使って添付ファイルを送信する
- ---本記事---
- [2019年4月3日] Python + SendGrid API でメールを送信する
- [2018年8月21日] boto3でS3にアップロードした画像が、ブラウザで表示するとダウンロードされてしまう時
- [2018年7月27日] Pandasで2列を比較してTrue/Falseの新たな列を作る。さらに1/0へのマッピング
- [2018年7月20日] pythonのpipで入れているもの
- [2018年6月25日] cronのpythonスクリプト内にあるjson.dump()でensure_ascii=Falseにして日本語出力しようとしてハマった
- [2018年6月22日] pythonでRSSフィードを取得し、画像がない場合、リンク先の記事から拾う
スポンサーリンク