Python でリストを反復処理中にリストから項目を削除すると、奇妙な結果が発生する
次のコードがあります:
リーリーただし、得られる結果は次のとおりです:
[2、4、6、8、10、12、14、16、18、20、21、22、23、24、25、26、27、28、29、30、31、32、33、 34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49]
もちろん、結果に 20 未満の数字が表示されないことを願っています。削除するときに何か間違ったことをしたようです。
正解
リストを反復処理しながらリストを変更しています。これは、最初のループでは i == 1
であるため、1
がリストから削除されることを意味します。次に、for
ループはリストの 2 番目の項目 (2
ではなく 3
) に進みます。その後、リストから削除され、for
ループはリスト内の 3 番目の項目 (現在は 5) に進みます。などなど。 ^ を使用して i
の値を指すと、これを視覚化するのが簡単になるかもしれません:
これはリストの初期状態です。その後、1
が削除され、ループはリストの 2 番目の項目に進みます:
リストを反復中にリストの長さを変更する良い方法はありません。あなたができる最善のことはこれです:
リーリー
または、インプレース変更の場合は次のようになります (括弧内は、スライスが割り当てられる前に暗黙的にタプルに変換されるジェネレータ式です):リーリー
n を削除する前に操作を実行したい場合は、次の方法を試すことができます:
リーリー
以上がPython でリストを反復処理中にリストから項目を削除すると、奇妙な結果が発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









short は、-32,768 ~ 32,767 の範囲の 16 ビット符号付き整数を表す Java のプリミティブ データ型です。これは、カウンタや ID などの小さな整数を表すためによく使用され、基本的な算術演算と型変換をサポートします。ただし、short は符号付き型であるため、除算を使用する場合はオーバーフローやアンダーフローを避けるために注意する必要があります。

IFNULL 関数は、式が NULL かどうかをチェックし、NULL である場合は指定されたデフォルト値を返し、そうでない場合は式の値を返します。これにより、Null 値によるエラーの発生が防止され、Null 値の操作が可能になり、クエリの可読性が向上します。使用法には、NULL 値をデフォルト値に置き換える、計算から NULL 値を除外する、および複数の NULL 値の状況を処理するためのネストされた使用法が含まれます。

Java の char 型は、U+0000 から U+FFFF までの 2 バイトを占める単一の Unicode 文字を格納するために使用されます。これは、一重引用符または Unicode エスケープ シーケンスを通じて初期化できます。比較、等価、不等式、結合演算に参加でき、暗黙的に int 型に変換することも、明示的に Character オブジェクトに変換することもできます。

C 言語では、除算演算子 / の動作はオペランドのデータ型によって異なります。 整数除算: オペランドが整数の場合、整数除算が実行され、結果は切り捨てられます。浮動小数点除算: オペランドが浮動小数点数の場合、浮動小数点除算が実行され、結果は浮動小数点数になります。型変換: 一方のオペランドが整数で、もう一方のオペランドが整数でない場合、整数は暗黙的に浮動小数点数に変換され、浮動小数点除算が実行されます。 0 による除数: 除数が 0 の場合、数学的エラーが発生します。モジュロ演算: モジュロ演算には、モジュロ除算ではなく % 演算子を使用します。

MySQL のアスタリスク (*) は「すべて」を意味し、さまざまな用途があります。 すべての列を選択 すべての行を選択 テーブルの JOIN ワイルドカード LIKE 句 REGEXP 句の量子子の暗黙的な型変換

Oracle のプラス (+) 演算子は、文字列、数値、日付、および時間間隔を接続する、NULL 値を処理する、および NULL を非 NULL 値に変換する、データ型を文字列型に変換するために使用できます。

C++ 関数のオーバーロードの一致ルールは次のとおりです。呼び出し内のパラメータの数と型を一致させます。パラメータの順序は一貫している必要があります。 constness 修飾子と参照修飾子は一致する必要があります。デフォルトのパラメータを使用できます。

暗黙的な型変換の一般的なアプリケーション シナリオを見てみましょう。はじめに: プログラミング言語では、暗黙的な型変換は自動的に実行されるデータ型変換プロセスです。一部のプログラミング言語では、この変換は、コンパイラまたはインタプリタに変換を実行するように明示的に指示する必要がなく、暗黙的に実行されます。暗黙的な型変換には、プログラミングにおける幅広い応用シナリオがあります。この記事では、一般的な応用シナリオのいくつかについて説明します。数値計算における暗黙的な型変換 数値計算では、異なる型のデータ間の演算が必要になることがよくあります。データの種類が異なる場合
