For ループ内の反復子変数の削除
値の範囲を反復するには、反復子変数を含む for ループを使用するのが一般的です。しかし、イテレータ変数を使用せずに同じ動作を実現することは可能でしょうか?
1 つのアプローチは、ラムダ関数と xrange() メソッドを利用することです。
def loop(f, n): for _ in xrange(n): f()
これにより、より多くのことが可能になります。イテレータ変数を明示的に定義する必要性を排除することで、簡潔な構文を実現します:
loop(lambda: print('Hello'), 5)
ただし、一般的には読みやすさと理解を容易にするために、反復子変数を保持することをお勧めします。
別のオプションには、_ で示されるアンダースコア変数の使用が含まれます。これはダミー変数の目的には役立ちますが、理想的な解決策ではありません:
for _ in range(n): do_something()
識別子ではアンダースコアの使用を避ける必要があるため、これは Python の命名規則に準拠していない可能性があります。さらに、インタラクティブな Python セッションでは、_ に最後の式の結果が割り当てられるため、混乱が生じる可能性があります。
これらの代替方法にもかかわらず、明確さと保守性を確保するために、for ループで反復子変数を使用することがベスト プラクティスです。
以上がPythonのForループでイテレータ変数を削除できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。