タグ付けされた質問 「iteration」

反復は、for、foreach、whileなどのループでの連続的な繰り返しです。このタグの付いた質問は、多くの場合、データのコレクションを最適に処理する方法について懸念しています。

30
JavaScriptの配列に対するfor-each
JavaScriptを使用して配列内のすべてのエントリをループするにはどうすればよいですか? 私はそれがこのようなものだと思った: forEach(instance in theArray) theArray私の配列はどこですか、これは正しくないようです。


7
PHPの「foreach」は実際にどのように機能しますか?
何foreachをし、何をし、どのように使用するか知っていると言って、これに接頭辞を付けましょう。この質問は、それがボンネットの下でどのように機能するかに関するものであり、「これは配列をループする方法です」という言葉に沿って回答したくありませんforeach。 長い間、私はそれforeachがアレイ自体で機能することを想定していました。それから私はそれが配列のコピーで動作するという事実への多くの参照を見つけました、そして私はそれが物語の終わりであるとそれ以来仮定しました。しかし、私は最近この問題について話し合い、少し実験したところ、これは実際には100%真実ではないことがわかりました。 私の言いたいことをお見せしましょう。次のテストケースでは、次の配列を使用します。 $array = array(1, 2, 3, 4, 5); テストケース1: foreach ($array as $item) { echo "$item\n"; $array[] = $item; } print_r($array); /* Output in loop: 1 2 3 4 5 $array after loop: 1 2 3 4 5 1 2 3 4 5 */ これは、ソース配列を直接操作していないことを明確に示しています。ループ中にアイテムを配列に常にプッシュしているため、ループが永久に継続します。しかし、これが事実であることを確認するために: テストケース2: foreach ($array …


25
ループでオブジェクトを削除するときにConcurrentModificationExceptionを回避して、コレクションを反復処理する
私たちは皆、あなたが次の理由で次のことができないことを知っていますConcurrentModificationException: for (Object i : l) { if (condition(i)) { l.remove(i); } } しかし、これは明らかに機能することもありますが、常に機能するとは限りません。ここにいくつかの特定のコードがあります: public static void main(String[] args) { Collection<Integer> l = new ArrayList<>(); for (int i = 0; i < 10; ++i) { l.add(4); l.add(5); l.add(6); } for (int i : l) { if (i == 5) { …

26
繰り返しながらリストからアイテムを削除するにはどうすればよいですか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 私はPythonのタプルのリストを繰り返し処理しており、特定の基準を満たしている場合は削除しようとしています。 for tup in somelist: if determine(tup): code_to_remove_tup 代わりに何を使うべきcode_to_remove_tupですか?この方法でアイテムを削除する方法がわかりません。
934 python  iteration 

11
Javaでリストを反復処理する方法
私はJava言語に少し慣れていないので、リスト(またはおそらく他のコレクション)を反復処理するすべての方法(または少なくとも非病理学的方法)と、それぞれの利点または欠点に慣れるようにしています。 List<E> listオブジェクトがあれば、すべての要素をループする次の方法を知っています。 基本的なfor ループ(もちろん、同等のwhile/ do whileループもあります) // Not recommended (see below)! for (int i = 0; i < list.size(); i++) { E element = list.get(i); // 1 - can call methods of element // 2 - can use 'i' to make index-based calls to methods of list // ... …




6
jQuery.each()ユーティリティの次の反復にスキップする方法は?
要素の配列を反復処理しようとしています。jQueryのドキュメントは言う: jquery.Each()のドキュメント false以外の値を返すことは、forループのcontinueステートメントと同じで、次の反復にすぐにスキップされます。 「return non-false;」を呼び出してみました。そして「偽ではない」; (戻り値)どちらも次の反復にスキップしません。代わりに、それらはループを壊します。何が欠けていますか?

15
JavaScriptオブジェクトを反復する方法は?
JavaScriptにオブジェクトがあります。 { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } forループを使用してそのプロパティを取得したいと考えています。そして、それを部分的に反復したいと思います(一度にすべてのオブジェクトプロパティではありません)。 単純な配列を使用すると、標準forループでそれを行うことができます。 for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = 300; i < …

21
Pythonで日付の範囲を反復する
これを行うための次のコードがありますが、どうすればより適切に実行できますか?現時点では、ネストされたループよりも優れていると思いますが、リスト内包にジェネレーターがあると、Perl-one-linerishになり始めます。 day_count = (end_date - start_date).days + 1 for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d <= end_date]: print strftime("%Y-%m-%d", single_date.timetuple()) ノート 私は実際にこれを印刷に使用していません。これはデモ用です。 変数は、私はタイムスタンプを必要としないため、オブジェクト。(これらはレポートの生成に使用されます)。start_dateend_datedatetime.date 出力例 の開始日2009-05-30と終了日について2009-06-09: 2009-05-30 2009-05-31 2009-06-01 2009-06-02 2009-06-03 2009-06-04 2009-06-05 2009-06-06 2009-06-07 2009-06-08 2009-06-09

19
再帰から反復への道
私は長年のプログラミングでかなりの再帰を使用して単純な問題を解決してきましたが、メモリ/速度の問題のために反復が必要な場合があることは十分に承知しています。 それで、私は非常に過去のある時期に、一般的な再帰アプローチを反復に変換する「パターン」またはテキストブックの方法が存在するかどうかを調べてみましたが、何も見つかりませんでした。または、少なくとも私がそれを覚えていることは何の助けにもなりません。 一般的なルールはありますか? 「パターン」はありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.