私はPython初心者でパズルを持っています。このようなコードを書くとき:
lst = [1, 2, 3, 4]
Pycharmは「このリスト作成はリストリテラルとして書き換えられる」というプロンプトを表示します。しかし、それが
lst = list([1, 2, 3, 4])
Pycharmは何も言わない。誰がその理由を教えてくれますか?
このコードはlst = [1, 2, 3, 4]
Pythonで合法ですか?プロンプトを無視できますか?
コードをチェックして、lst
が_lst=[]
_以外の場所にないことを確認してください。
次を入力した場合:
_lst= []
# more code
lst = [1, 2, 3, 4]
_
受け取ったプロンプトが表示されます。そのままにしておけば問題は発生しませんが、悪い習慣です。
これらの2つのケースでは、関数を使用して変数を変更しています:list()
およびappend()
。前の例では、変数を明示的に再定義しているだけです。
別の不適切な例:
_a = 7
# some code that has nothing to do with "a" or uses it
a = 8
_
最初に_a = 8
_を設定するだけです。 _a = 7
_を保存する必要はありません。
Pythonでそのようなコードを記述することは完全に合法です。ただし、次のようなコードを書く
lst = [1, 2, 3, 4, 12]
「より良い」だろう
lst = [1, 2, 3, 4]
... # code has nothing do to with lst
lst.append(12)
一般的に、前者の方が後者よりも優れたパフォーマンスを発揮しますが、後者の方が読みやすい場合/それを行う正当な理由がある場合は、PyCharmプロンプトを無視できます。
気になる場合は、この検査をオフにすることができます
「PyCharm-> settings-> editor-> inspection-> Python->リスト作成は...」