反復子変数を使用しない 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:, 5)
2. _ Variable:
Python を使用すると、特殊変数 _ を使用して、ループによって割り当てられた値を破棄できます。 _ は単なる別の変数であり、反復子のプレースホルダーではないことに注意してください:
for _ in range(n): do_something()
_ はプレースホルダーの識別子としてよく使用されますが、対話型 Python セッションの最後の戻り値を割り当てる可能性があるため、このコンテキストでの使用はお勧めできません。 _.
3.イテレータの明示的な無視:
次の構文を使用してイテレータ変数を明示的に無視できます:
for i in range(n): pass # No action taken
ただし、この解決策はスコープ内の余分なスロットを占有するため効率的ではありません。
結論
Python ではイテレータ変数なしで for ループを作成することは直接不可能ですが、上記の代替手段は、必要に応じて同様の効果を達成するメソッドを提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3