反復子変数を使用しない For ループの作成
Python では、for ループは通常、次のような反復子変数を使用して一連の要素を反復処理します。以下の例のように:
for i in range(some_number): # do something
ただし、次のようなシナリオも考えられます。イテレータ変数を必要とせずに、アクションを複数回実行するだけで済みます。
考えられる解決策
イテレータ変数を完全に削除することはできませんが、同様の結果を達成できる代替手段は次のとおりです:
1. xrange() を使用した Lambda 関数:
xrange() 関数とともにラムダ関数を利用し、匿名関数を引数として loop() に渡すことができます。 :
def loop(f, n): for i in xrange(n): f() loop(lambda: <insert expression here>, 5)
2. _ Variable:
Python を使用すると、特殊変数 _ を使用して、ループによって割り当てられた値を破棄できます。 _ は単なる別の変数であり、反復子のプレースホルダーではないことに注意してください。
for _ in range(n): do_something()
_ はプレースホルダーの識別子としてよく使用されますが、インタラクティブな Python セッションの最後の戻り値を割り当てる可能性があるため、このコンテキストでの使用は推奨されません。 _.
3.イテレータの明示的な無視:
次の構文を使用してイテレータ変数を明示的に無視できます:
for i in range(n): pass # No action taken
ただし、この解決策は余分なスロットを占有するため効率的ではありません。のscope.
結論
Python でイテレータ変数なしで for ループを作成することは直接不可能ですが、上記の代替案は、次の場合に同様の効果を達成するメソッドを提供します。必要です。
以上がイテレータ変数を明示的に使用せずに、Python で For ループを効果的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。