の方法を拡張し、なぜこのはPythonのリスト
list(('a', 'b', 'c')).extend([1, 2, 3])
は 'なし' に評価しません。 私は、コンストラクタの結果をリストにする必要があるので、コンストラクタの結果を変数に代入してから拡張した場合と同じように、「拡張」するのに問題はないはずですほぼ常にNoneです。 これはなぜ起こるのですか?
の方法を拡張し、なぜこのはPythonのリスト
list(('a', 'b', 'c')).extend([1, 2, 3])
は 'なし' に評価しません。 私は、コンストラクタの結果をリストにする必要があるので、コンストラクタの結果を変数に代入してから拡張した場合と同じように、「拡張」するのに問題はないはずですほぼ常にNoneです。 これはなぜ起こるのですか?
L = list(('a', 'b', 'c'))
は、リストを作成し、それを変数L
に割り当てます。同様に、list(('a', 'b', 'c'))
は新しいリストを作成します。
L.extend([1,2,3])
は、Lに対して操作を実行し、戻り値はNone
です。
あなたのケースでは、コンストラクタがextend
という名前のリストを作成するということが起こります。 extend
は戻り値がNone
であるため、list(('a', 'b', 'c')).extend([1, 2, 3])
はNone
と評価されます。リストは、あなたが構築しているので(つまりlist(('a', 'b', 'c'))
は)それへの参照がない、変数に割り当てられていないし、Pythonの参照カウントガベージコレクタは、単に閉じてくださいNone
なぜこの質問に答えることにしましたか?それは明らかに重複しています、そしてあなたはそれを偽装ハンマーで閉じることができます。 – vaultah
@vaultah:私が答える前にdupターゲットを見なかった。役に立った – inspectorG4dget
@vaultahを返し
extend
の呼び出し、後にそのリストをスイープアップあなたが特権を持っている場合、質問。 –タグを編集したので、できません。 「それは私の問題を解決しました」というボタンがあるはずです。クリックする必要があります – vaultah
そのボタンはありません。 –