pythonリストの逆トラバーサルの実装

引用:この質問は、ネチズンの助けを求める要求から生じました。ウォーターグループのドラゴンキングとして、この質問に答えるのが私の義務です。最初にトピックを見てみましょう。

この質問を取得します。質問の意味は非常に明確です。2を含むリスト内の要素を削除してから、削除された新しいリストを出力する必要があります。私が最初に考えたのは、forループを使用して文字列をトラバースし、文字列演算子xをsで使用し(xがsのサブ文字列の場合、Trueを返し、それ以外の場合はFalseを返す)、if関数を使用し、Trueの場合は削除する(削除する)ことでした。要素。最後に、新しいリストが出力されます。

アイデアコードと実行結果は次のとおりです(これは間違っています)

エラーインスタンス

出力結果を確認します。元のリストと比較すると、2を含む一部の要素が削除されていますが、完全には削除されていません。なぜですか。

リスト要素の添え字に従ってpythonがトラバースすることを分析してみましょう。したがって、要素123の添え字は1であり、要素212の添え字は2です。 S.removeは最初のループで実行され、要素123が削除されます。 2番目のループに入るとき! ! !ここでポイントがあります。この時点で要素123が削除されているため、要素212の添え字が1から0に変更され、要素434の添え字が2から1に変更されていることに注意してください。添え字0は最初のループで実行されたため、2番目のループは添え字1の要素を探します。

この時点で、出力結果で212が削除されなかった理由をすでに知っている必要があります。これは、これら2つのアイテムがpythonによってまったく検出されず、前の要素の位置にあり、定期的な検査を免れたためです。要素1215が削除されないのはなぜですか? ?その添え字が前の要素231の位置になるため、Python兄弟の定期的なチェックを免れました。

わかりました、エラーの原因が見つかりました、それを解決する方法は?トラバーサルは道路のようなもので、道路の最初から最後まで、または道路の終わりから最初まで歩くことができます。ちょうど今、私たちは正の順序でトラバースしていましたが、問題を解決できませんでした。その逆はどうですか?それを試してみてください。

逆トラバーサルの構造は次のようになります。foriinrange(len(s)-1、-1、-1)

コードと実行結果は次のとおりです(これは正しいです)

正しい例

出力したい結果が得られたことがわかります。逆の順序がここに表示されない理由についてはこれ以上説明がありません(ハハハの説明方法がわからないため)。forループを使用して要素をトラバースおよび削除することを忘れないでください。前方にトラバースしないと、リストが範囲外になります。

removeメソッドを使用する以外に他のオプションはありますか?もちろん、いくつかのpythonはありますが、他の多くの関数はありません。

リストリバーストラバーサル(およびその他)を実装するには、いくつかの方法があります。

さまざまな方法のまとめ

これまでのところ、Pythonリストの逆トラバーサルの実装に関するこの記事はここで紹介されています。Pythonリストの逆トラバーサルのより関連性の高いコンテンツについては、ZaLou.Cnを検索してください。

Recommended Posts

pythonリストの逆トラバーサルの実装
pythonリスト(LIST)の深い理解
gomokuプログラムのPython実装
Pythonプラグインメカニズムの詳細な実装
IOU計算ケースのPython実装
word2vec操作のPython予備実装
pythonselenium操作cookieの実装
Python3リスト
python3登録グローバルホットキーの実装
python学生管理システムの実装
python勾配降下アルゴリズムの実装
Pythonタートルライブラリ実装の基本的な分析
pythonでのJWTユーザー認証の実装
交差点のPython実装とIOUチュートリアル
Pythonクラスの動的バインディングの実装原則
Python3.9の7つの機能
パイソンリスト学習
[902] pythonリストソート
ファイルをダウンロードするためのPythonヘッドレスクローラーの実装
AI自動マットサンプル分析のPython実装
手描き効果の例の共有のPython実装
pythonによる名刺管理システムの実装
Pythonは釣りマスターのゲーム実装を書きます
pythonに基づく名刺管理システムの実装
Pythonインターフェース開発の実装手順の詳細な説明
Python構文の基本
pythonで番号のリストを理解する方法
Pythonの基本構文
Pythonの基礎知識(1)
pythonのPrettytableモジュール
09.Python3の共通モジュール
バイナリツリートラバーサル(Python)
Python(7)の基盤を統合する
Pythonのタプルの添え字
wavファイルのPython分析
Python(6)の基盤を統合する
Python描画ローズ実装コード
PythonクローラーのJSの分析
栄光のパイソンキング壁紙
Pythonの基本的な構文リストの作成
Python(5)の基盤を統合する
Pythonサンドボックスエスケープの分析
Python3.10のいくつかの新機能
Pythonマルチスレッドの深い理解
Pythonオブジェクト指向プログラミングの分析
CentOS8.0ネットワーク構成の実装
OpenCVインストールのPythonバージョン
PythonGUIシミュレーション実装計算機
Pythonの9つの機能エンジニアリング手法
python描画モジュールのmatplotlib
パラメータを渡すPythonメソッド
Pythonの基盤を統合する(3)
Python共通モジュールのコレクション