ホームページ  >  記事  >  バックエンド開発  >  Python の for ループで if ステートメントと else ステートメントをネストするためのヒント

Python の for ループで if ステートメントと else ステートメントをネストするためのヒント

WBOY
WBOYオリジナル
2016-07-21 14:53:142076ブラウズ

for...[if]...リストの構築 (リスト内包表記)
1. シンプルな for...[if]... ステートメント
Python では、for...[if]... ステートメントはリストを構築する簡潔な方法であり、for で指定されたリストから if 条件を満たす要素を選択して新しいリストを形成します。省略。ここでは、説明するための簡単な例をいくつか示します。

リーリー

if を省略した後、newList は a と同じ要素を持つリストを構築します。ただし、newList と a は異なるリストです。 b=a, b と newList の実行は異なります。 newList2 は、x%2==0 を満たす要素から選択されたリストで構成されます。 for...[if].. ステートメントを使用しない場合、newList2 を構築するには次の操作が必要です。

リーリー

明らかに、for...[if]... ステートメントを使用する方がより簡潔です。

2. for...[if]... ステートメントのネスト
ネストされた for...[if]... ステートメントは、複数のリストから if 条件を満たす要素を選択して新しいリストを形成できます。以下にいくつかの例を示します。

リーリー

ネストされた for...[if]... ステートメントは複数の for ステートメントと同等です。最初の for ステートメントは最も外側のループです。

Pythonのelse句を上手に活用しましょう
日常のコーディングでは、分岐ステートメントの使用が非常に一般的であり、コード実行のロジックは特定の条件が満たされるかどうかに基づいて制御されることが多いため、誰もが if[elif[else]] に精通しているでしょう。分岐ステートメントの else 節は、他の条件が満たされない場合に実行されます。分岐ステートメントを適切に使用すると、コード ロジックをより豊かにすることができます。
分岐ステートメントでの else 句の使用は、一部の一般的なプログラミング言語と基本的に同じです。他のプログラミング言語 (C#、Java など) と比較すると、デフォルトの実行パスを提供するのと同様です。 、js など) Python では、else には特別な使用法があり、for や while などのループ ステートメントで使用でき、例外処理の try else ステートメントでも使用できるため、コードをより簡潔にすることができます。

1. for/while ループステートメントで使用します
else 節の直後に for ループ文が続きます。ループが正常に終了すると (return や Break などの早期終了なし)、else 節のロジックが実行されます。まず例を見てみましょう:

リーリー
リーリー

結果:

リーリー

素数を出力する簡単な例。 素数であるかどうかを判定する場合、割り算を満たす整数があれば判定を終了します。 else のおかげで、例全体のロジックは非常に「自己表現的」で、疑似コードのように理解しやすく、割り切れるかどうかを判断するときにフラグ値を設定し、関数の最後でフラグ値を判断して決定するのと比較すると、番号を出力するかどうか、コードを出力するかどうかを、より簡潔かつ「手順的」ではない準備方法を説明します。
ps: 例のコメント化されたコードを実行して効果を比較できます。

2. エラー制御を除く try と組み合わせて使用​​します
例外処理ステートメントでは、else も同様の使用法を持ちます。try コード ブロックが例外をスローしない場合、else ステートメント ブロックが実行されます。

リーリー
リーリー 結果:
リーリー

印刷ログに示されているように、変換が成功し、エラーが発生しない場合、else ステートメントのロジックが実行されます。もちろん、この例は実際にはあまり役に立たないかもしれませんが、else の役割を大まかに説明できます。エラー処理 使用法: ロジックを簡素化し、エラーが発生したかどうかを正確に把握して実際の操作を行うために、一部のフラグ値を使用しないようにします (たとえば、データの保存時にエラーが発生した場合は、else ステートメント ブロックでロールバック操作を実行します)。そして続行する Finally ステートメントを追加して、いくつかのクリーニング操作を完了できます

else ステートメント ブロックをうまく活用すると、より簡潔で自然言語のセマンティクスに近いコードを書くことができます。もちろん、その微妙な点も徐々に理解できるようになります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。