空リストを次の関数で実行しています。リストはgp
です。リストの末尾に手紙を追加し、それが9の長さに達したらそれをリセットするという考えがありました。ただし、gp
が9文字に達すると、新しい文字の追加が停止されます。 def upd(gp): gp.append(random.choice(string.letters)) if len(gp) > 9: gp = []
これを通過した後にPythonリストがリセットされない
0
A
答えて
3
リストgp
を変化させませんgp = []
を設定し、それは単にローカル変数gp
は空のリストであることを再バインド。外部リスト(gp
の関数に渡された)は、この再バインドの影響を受けません。
あなたがする必要があるのは、明示的にリストから項目を削除することです。あなたは、このように一度にすべての項目を削除することができます
def upd(gp):
gp.append(random.choice(string.letters))
if len(gp) > 9:
gp[:] = []
は今、これが効果的にすべての項目を削除し、場所にリストgp
を変異されます。それを行うための他の方法があります。 del gp[:]
も動作し、Python 3のgp.clear()
(ありがとう@PeterDeGlopper)。
+0
または少なくとも3.3の場合、 'gp.clear()'があります。 –
+0
@PeterDeGlopper:ありがとう、私は答えにあなたのポイントを追加しました。 – mhawke
関連する問題
- 1. $ filter()を通過した後に日付が変更される
- 2. CSSの目次 - ネストされたリストの後にカウンタがリセットされない
- 3. 角度をクリックした後に角度がリセットされない?
- 4. フィルタ検索後に過渡フィールドがリセットされる
- 5. BorderStyleプロパティの値がリセットされた後にリセットされます
- 6. スウィフト、通過した情報が表示されない
- 7. ユーザーがフィールドを手動でリセットした後でng-dirtyがリセットされない?
- 8. アラート後にフォームがリセットされない(検証されたとき)
- 9. キーボードが隠れた後にiPhoneの表示がリセットされない
- 10. Pythonがパラメータを通過しないようにします
- 11. なぜこれが提供されておらず、フォームにこれらを通過しようと
- 12. なぜ私はこのリストを通過させませんか?
- 13. iOSアプリの通知バッジ数が0にリセットされない
- 14. デフォルトのCSS値をリセットした後にフォントサイズが変更されない?
- 15. カメラがオブジェクトを通過した後にBabylonJsテキストブロックが消えた
- 16. redux-form isDirtyがサブミットに成功した後にリセットされない
- 17. Pythonをインストールした後にNetbeans 7.1が実行されない
- 18. キーボードを隠してサイズ調整した後、GridLayoutがリセットされない
- 19. ユニティアニメーションパラメータトリガがリセットされない
- 20. タイマーがリセットされない
- 21. Android - GCMプッシュ通知が通知リストに表示されない
- 22. JQuery addEventListenerがkeydown入力後にリセットされない
- 23. jQueryでsetInterval後にオーディオ要素のボリュームがリセットされない
- 24. fillRectの後にCanvasがリセットされない
- 25. リセット後に角2の入力値が更新されない
- 26. リブート後にmysqlグローバルパラメータがリセットされる
- 27. データが変更された後にVue v-forリストが更新されない
- 28. MVCグローバルリストがajaxのポストバックの後にリセットされました
- 29. RecyclerViewビューのデータがスクロールした後にリセットされる
- 30. のpython通過
@mhawkeは答えがあります - これは暗黙の参照セマンティクスを持つ言語では一般的な初心者エラーです(変数とパラメータはそのオブジェクトの値ではなく実際のオブジェクトへの参照として機能しますが、他の暗黙の参照からオブジェクトへの割り当て以外のほとんどの操作では暗黙の参照解除が行われ、オブジェクトではなく参照がコピーされます)。もちろん、参照はすばやく簡単に渡すことができ、暗黙的な参照は混乱を軽減します。 – Steve314