75

次のような行があります。

filter(lambda x: x == 1, [1, 1, 2])

Pylint は警告を表示しています:

W:  3: Used builtin function 'filter'

何故ですか?リスト内包表記は推奨される方法ですか?

もちろん、これを次のように書き換えることもできます。

[x for x in [1, 1, 2] if x == 1]

警告は表示されませんが、これに対する PEP があるかどうか疑問に思っていましたか?

4

4 に答える 4

96

Pylint は、話してはいけないことについてよくしゃべります。.pylintrc ファイルで警告を無効にすることができます。

このページhttp://pylint-messages.wikidot.com/messages:w0141は、フィルターとマップがリスト内包表記に取って代わられたという問題を示しています。

pylintrc ファイルに次のような行を追加すると、警告が消えます。

disable=W0141
于 2010-08-25T19:01:00.993 に答える
5

私は同じ問題に遭遇し、理解できませんでした

組み込み関数「input」が悪い理由。私はあなたが意図します

無効にするには:

pylint --bad-functions="[map,filter,apply]" YOUR_FILE_TO_CHECK_HERE

設定が気に入ったら:

pylint --bad-functions="[map,filter,apply]" --some-other-supercool-settings-of-yours
--generate-rcfile > test.rc

設定がファイル内にあることを確認します。例:

cat test.rc | grep -i YOUR_SETTING_HERE

その後、このファイルをローカルで使用できます

pylint --rcfile test.rc --your-other-command-line-args ...

または、デフォルトの rcfile として使用することもできます。このために、私は親切にあなたを参照します

pylint --long-help
于 2013-08-04T08:30:36.750 に答える