Python の for ループ。 構文、リストの繰り返し、中断、継続、およびその他の機能

Цpython iのikl サイクル while – ステートメント ソフトウェア 言語、 つまり: 反復演算子、let コードを繰り返す 与えられた番号 時間。

Цに — с交絡

すでに説明したように、cinclude for Python は、に基づくイテレータです。й サイクルごとアイデンティティ. 彼ですか 使徒行伝 タプル要素による и リスト、 語彙 キーと 他の 反復可能なオブジェクト。

Python のループは、for キーワードで始まり、その後に、指定されたシーケンス内の次のオブジェクトの値を格納する任意の変数名が続きます。 Python での for…in の一般的な構文は次のようになります。

for in : else:      

コンポーネント 「シーケンス」 リストされている 続々 サイクル変数。 というより、 変数は そのような 要素。 みんなのために それらの 「アクション」を実行します。

特定の例を使用した Python の単純な for ループ:

>>> languages = ["C", "C++", "Perl", "Python"] >>> for x in languages: ... print(x) ... C C++ Perl Python >>>

else ブロックは特別です番目。 もし プログラマыワーキング с おなじみのパールы 彼と一緒に、 それ 交流する人へ с C および C++ — これはイノベーションです. 意味的には 機能 т同じように whileループ.

ループが break ステートメントによって「停止」されていない場合にのみ実行されます。 つまり、すべての要素が指定されたシーケンスを通過した後にのみ実行されます。

Python の Break 演算子 – break

プログラムに for ループがある場合 必要 割り込み  ブレークステートメント、 he コンプリート行く& プログラム フロー 意志 CONTようにするには 無し アクティベーション 他から。

より頻繁に Python でフレーズを分割するウユツヤ 条件文付き。

edibles = ["chops", "dumplings","eggs","nuts"] for food in edibles: if food == "dumplings": print("I don't eat dumplings!") break print("Great,おいしい " + 食べ物) else: print("餃子がなくてよかった!") print("夕食は終わりました。")

このコードを実行すると、次の結果が得られます。

素晴らしい、おいしいチョップ。 餃子食べない! 夕食は終わりました。

既存のデータ リストから「餃子」を削除すると、次のようになります。

優秀、おいしいチョップ 優秀、おいしい卵 優秀、おいしいナッツ 餃子がなくてよかった! 夕食は終わりました。

python スキップ演算子 – 続行

そのような製品に対するユーザーの反感は、消費を完全に放棄するほど大きくないとしましょう。 その結果、ループは演算子で続行されます continue. 次のスクリプトは、ステートメントを使用します continue、「餃子の連絡先」のリストを繰り返します。

edibles = ["chops", "dumplings","eggs","nuts"] for food in edibles: if food == "dumplings": print("I don't eat dumplings!") continue print("Great,おいしい " + food) # これは食べ物を楽しむためのコードかもしれません :-) else: print("餃子は嫌いです!") print("夕食は終わりました。")

結論:

素晴らしい、おいしいチョップ。 餃子食べない! すごい、おいしい卵 すごい、おいしいナッツ 私は餃子が嫌いです! 夕食は終わりました。

range() 関数を使用してリストを反復処理する

リストのインデックスにアクセスする場合、この目的で for ループを使用する方法が明確ではありません。 すべての要素にアクセスできますが、要素のインデックスにはアクセスできません。 ただし、要素のインデックスと要素自体の両方にアクセスする方法があります。 この目的のために、関数が使用されます range() 長さ関数と組み合わせる len():

fibonacci = [0,1,1,2,3,5,8,13,21] for i in range(len(fibonacci)): print(i,fibonacci[i])

取得する:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

注意! 適用時 len() к list or tuple、指定されたシーケンスの対​​応する要素数が取得されます。

リストの繰り返しの難しさ

リストを反復するときは、ループ本体でリストのダイナミクスを避けることをお勧めします。 明確にするために、次のオプションを提供できます。

colors = ["red"] for i in colors: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours)

申請するとどうなるか print(colours)?

[「赤」、「黒」、「白」]

これを回避するには、以下の例のように、スライスを使用してコピーを操作することをお勧めします。

colors = ["red"] for i in colors[:]: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours )

結果:

['赤、黒']

リストが変更されました colours、しかし、このアクションはループに影響しませんでした. 反復が必要なデータは、ループの実行中に変更されませんでした。

Python 3で列挙する

Enumerate は Python の組み込み関数です。 ほとんどの初心者は、一部の経験豊富なプログラマーと同様に、その存在を認識していません。 ループの繰り返しを自動的にカウントできます。 例えば:

for counter, value in enumerate(some_list): print(counter, value)

演算 enumerate また、オプションの引数を取ります (デフォルトで取得される原点の値 0)。 これにより、さらに効率的になります。

my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # 結果: # 1 リンゴ # 2 バナナ # 3 チェリー #桃4個

コメントを残す