問題タブ [del]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
146 参照

python - Pythonで古い参照を削除するには?

次のクラスがあるとしましょう

Daddy() はオブジェクト aDaddy への参照を保持し、次の出力を取得します。

0 投票する
2 に答える
67 参照

python - カードからwhileループデルを推測する[リスト]

これが私が持っているコードです。if ステートメントに追加しようとしていました... del card[:guess] ですが、整数が必要であることはわかっています。推測を整数に変換してからリストから削除して、推測をだまさないようにするにはどうすればよいですか?

0 投票する
1 に答える
722 参照

python - del 関数が正しく動作しない

次のコードを教えてください。

ここでの考え方は、5 列のデータを持つファイルを読み取ることです。ファイルの 4 列目の数値が 'err' よりも大きい場合、ユーザーに数値 (err) の入力を求めた後、データ行を削除するために使用されます。

問題は、何らかの理由で該当するすべての行が削除されないことです。err = 500 の場合、500 を超える 3 桁の数字 (例: 653.61511、989.76770、614.62500 など) はすべて削除されますが、4 桁の数字 (例: 1001.15637、1628.09155、2444.60400 など) は削除されません!

私が作業しているファイルは以下のとおりです。

-8.0 4.0 3.695 265.81021 265.8102
-8.0 4.0 3.721 274.50510 274.5051
-8.0 4.0 3.746 285.87451 285.8745
-8.0 4.0 3.771 301.65869 301.6587 -8.0 4.0 3.796
324.28391 324.2839 -8.0
4.0 3.821 356.89609 356.8961
-8.0 4.0 3.846 405.96741 405.9674
-8.0 4.0 3.872 488.77600 488.7760
-8.0 4.0 3.897 653.61511 653.6151
-8.0 4.0 3.922 1001.15637 1001.1564
-8.0 4.0 3.947 1628.09155 1628.0916 -8.0 4.0 3.972 2444.60400 2444.6040
-8.0 4.0 4.023
3092.76880 3092.7688
-8.0 4.0 4.048 2488.82031 2488.8203
-8.0 4.0 4.073 1653.13733 1653.1373
-8.0 4.0 4.098 989.76770 989.7677
-8.0 4.0 4.123 614.62500 614.6250

私は決してPythonでのコーディングの専門家ではないので、この問題に関する助けをいただければ幸いです...

0 投票する
1 に答える
68 参照

python - 割り当てられていない Python オブジェクトでの __del__ の動作

初めての質問です。以前に質問されていたら申し訳ありません。検索しましたが、答えと思われるものは見つかりませんでした。

__del__ラップされたCコードでクリーンアップを実行する必要があるため、pythonのメソッドの動作を理解しようとしています。

私の理解で__del__は、オブジェクト参照で呼び出されたときdelではなく、オブジェクトの参照カウントがゼロになったときに呼び出されます。これにより、代入なしでオブジェクトをインスタンス化するとすぐに__init__thenが呼び出されると思い__del__ましたが、次のコードが示すように、そうではないようです。

ここで何が起こっているのか誰か説明できますか? 前もって感謝します。

0 投票する
1 に答える
54 参照

python - __del__ は信頼できませんが、コンテキスト マネージャーを使用しようとするとオブジェクトが持続しません。

多数の子オブジェクトをインスタンス化するスクリプトがあります。スクリプト (およびこれらのオブジェクト) が終了すると、オブジェクトは少しクリーンアップする必要があります (特に一時ファイルのクローズと削除)。

私はどのよう__del__に信頼できないかを読み続けていますが、コンテキスト管理は機能していないようで、子オブジェクトは持続しません。彼らはぶらぶらする必要があります(ファイルの読み取りや書き込みなどを行うため)

例:

ライター.PY

メイン.PY

しかし、私が実行するmyfunc()と、オブジェクトは終了するとすぐにガベージコレクションされ__init__()ます. これは enter から exit までまっすぐ進み、with ステートメントの後には何の役割も果たしません。オープンを に入れても に入れても問題ないよう__init__です__enter__

出力:

このようにコンテキストマネージャーを使用する方法、より良い使用方法__del__はありますか...またはこれを達成するための3番目のオプションはありますか?

0 投票する
1 に答える
196 参照

python - Python の del a[0] はリスト全体をコピーしますか?

del a[0]を模倣するために単純なリストを使用しようとしていdeque.popleft()ます。delPython での動作を理解したいだけです。例えば:

aメモリ内の連続空間にあります。を呼び出した後del a[0]、Python は新しいスペースを割り当て1,2,3,4,5てそこにコピーするか、新しいアドレスを与えるだけaです (これは と同じa = a[1:]です)。

新しいスペースを割り当てる場合、それdel a[0]は _O (len (a) _ 操作ですか?

del a[0]が と同じ場合a = a[1:]、Python は配列から削除されたメモリ空間を再利用しますか?

0 投票する
5 に答える
1322 参照

python - Pythonのリスト内のプライムインデックスの場所を削除する

私は CS クラスに小さなタスクを設定しました。このタスクでは、Python でメソッドを記述して、リスト内の最大インデックス位置 (インデックス 50 まで) の項目を削除する必要があります。

以下に示すように、メソッドを作成しようとしましたが、メソッドの最後にリストを出力しようとすると、削除されたプライム インデックス位置の値を含むリストが返されるはずですが、単に完全なリストが返されるだけです。 (番号 1 ~ 50)。

私の機能:

そして、次を使用して関数を呼び出します。

私はPythonに非常に慣れていないので、これが非常に単純な修正または明らかなエラーである場合はお詫びしますが、どんな助けも大歓迎です!