3

メモリ割り当てなしで値を 1 つだけ持つスライスを介して Python リストを変更する方法はありますか?

そんな感じ:

b = range(10)
b[2:5] = 1

ここで問題になるのは、メモリに関することです。組み込みシステムで MicroPython を使用しており、不要な割り当てがパフォーマンスに影響を与えるため、新しいオブジェクトを割り当てたくありません。では、サイクルを使用する必要がありますか、それともよりエレガントな方法がありますか?

ただし、Python でメモリ割り当てがどのように機能するかについてはよくわかりません。Python はスマートで、使用法に応じて変数をスタックとヒープに割り当てることを読みました。したがって、次の場合は言えません。

b = range(10)
b[2:5] = [1]*3

ガベージ コレクターの作業のビットを作成します。

4

1 に答える 1