タグ付けされた質問 「for-loop」

forループは、範囲を反復するために多くのプログラミング言語で使用される制御構造です。これは、ループが終了するまでステートメントを何度も繰り返す方法です。言語によっては、整数、イテレータなどの範囲を超える場合があります。

8
インデックス変数なしでN回何かを行うためのpythonの方法?
毎日Pythonがますます好きになっています。 今日、私は次のようなコードを書いていました: for i in xrange(N): do_something() 私は何かN回しなければならなかった。しかし、毎回i(インデックス変数)の値に依存しませんでした。自分が使用したことのない変数(i)を作成していることに気付き、「無用なインデックス変数を必要とせずに、これを行うにはより確実にPython的な方法があるはずです。」 だから...問題は、この単純なタスクをより(pythonic)より美しい方法で行う方法を知っていますか?

7
リスト内包表記と関数関数は、「forループ」よりも高速ですか?
Pythonでパフォーマンスの面では、リスト内包表記である、または機能が好きでmap()、filter()そしてreduce()速くforループよりも?forループがPython仮想マシンの速度で実行されるのに対し、技術的にはCの速度で実行されるのはなぜですか? 開発中のゲームで、forループを使用して複雑で巨大なマップを描画する必要があるとします。この質問は間違いなく関連性があります。たとえば、リスト内包が実際に高速である場合、(コードの視覚的な複雑性にもかかわらず)ラグを回避するためのはるかに優れたオプションです。

4
反復しながら値を変更する
これらのタイプがあるとしましょう: type Attribute struct { Key, Val string } type Node struct { Attr []Attribute } また、ノードの属性を反復処理して変更したいと考えています。 私はできることが大好きだったでしょう: for _, attr := range n.Attr { if attr.Key == "href" { attr.Val = "something" } } しかしattr、ポインタではないので、これは機能せず、私はしなければなりません: for i, attr := range n.Attr { if attr.Key == "href" { n.Attr[i].Val = …
153 arrays  for-loop  go 

17
オブジェクトのJavascript配列内にオブジェクト値が存在するかどうかを確認し、存在しない場合は配列に新しいオブジェクトを追加します
オブジェクトの次の配列がある場合: [ { id: 1, username: 'fred' }, { id: 2, username: 'bill' }, { id: 2, username: 'ted' } ] 特定のユーザー名の値がすでに存在するかどうかを確認するために配列をループする方法はありますか?それが何もしない場合は、そのユーザー名(および新しいID)で新しいオブジェクトを配列に追加しませんか? ありがとう!

5
TypeScript…の/インデックス/キー付き?
ここで説明するように、 TypeScriptはforeachループを導入します。 var someArray = [9, 2, 5]; for (var item of someArray) { console.log(item); // 9,2,5 } しかし、インデックス/キーはありませんか?私は次のようなものを期待します: for (var item, key of someArray) { ... }

21
Javaで拡張されたforループの最後の反復
ループが最後に繰り返されているかどうかを判断する方法はありますか?私のコードは次のようになります: int[] array = {1, 2, 3...}; StringBuilder builder = new StringBuilder(); for(int i : array) { builder.append("" + i); if(!lastiteration) builder.append(","); } さて、最後の反復でコンマを追加したくないのです。これが最後の反復かどうかを判断する方法がありますか、それともforループでスタックしているのか、外部カウンタを使用して追跡しているのかを確認する方法があります。


11
「for」ループを使用してC ++ベクトルを反復処理する
C ++言語は初めてです。私はベクトルを使い始めており、インデックスを介してベクトルを反復処理するすべてのコードで、forループの最初のパラメーターは常にベクトルに基づくものであることに気づきました。Javaでは、ArrayListを使用して次のようなことを行う場合があります。 for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } C ++でこれが表示されない理由はありますか?それは悪い習慣ですか?

4
範囲ループ内でマップから選択したキーを削除しても安全ですか?
選択したキーをマップから削除するにはどうすればよいですか?delete()以下のコードのように、範囲と組み合わせても安全ですか? package main import "fmt" type Info struct { value string } func main() { table := make(map[string]*Info) for i := 0; i < 10; i++ { str := fmt.Sprintf("%v", i) table[str] = &Info{str} } for key, value := range table { fmt.Printf("deleting %v=>%v\n", key, value.value) delete(table, key) } } …
135 dictionary  for-loop  go 

5
PHPでのFORとFOREACHのパフォーマンス
まず、アプリケーションの90%でパフォーマンスの違いはまったく無関係であることを理解していますが、どちらがより高速な構成であるかを知る必要があります。それと... 現在ネット上で入手できる情報は混乱を招きます。多くの人がforeachは悪いと言いますが、反復子を使用して配列トラバーサルの記述を単純化することを想定しているため、技術的にはより高速であるはずです。イテレータ。これも高速であると思われますが、PHPでも明らかに非常に遅いです(または、これはPHPのものではありませんか?)。配列関数について話しています。next()、prev()、reset()など、関数のように見えるPHP言語機能の1つではない場合でも、 これを少し絞り込むと、配列を1以上のステップでトラバースすることには興味がありません(負のステップもありません。つまり、反復を逆にします)。また、任意のポイントとの間のトラバーサルには興味がなく、長さは0です。また、1000個を超えるキーを持つ配列の操作が定期的に発生することはありませんが、アプリケーションのロジックで配列が複数回トラバースされるのがわかります。また、操作に関しては、主に文字列操作とエコーのみです。 ここにいくつかの参照サイトがあります: http : //www.phpbench.com/ http://www.php.lt/benchmark/phpbench.php 私がどこでも聞くもの: foreach遅いため、for/ whileが速い PHP foreachは反復する配列をコピーします。それをより速くするには、参照を使用する必要があります このようなコード:より高速です$key = array_keys($aHash); $size = sizeOf($key); for ($i=0; $i < $size; $i++)foreach これが私の問題です。私は次のテストスクリプトを作成しました:http : //pastebin.com/1ZgK07USそして、スクリプトを何度実行しても、次のような結果が得られます。 foreach 1.1438131332397 foreach (using reference) 1.2919359207153 for 1.4262869358063 foreach (hash table) 1.5696921348572 for (hash table) 2.4778981208801 要するに: foreachforeach参照よりも速い foreach より速い for foreachforハッシュテーブルよりも高速 …

8
Scalaでfor内包表記とループを最適化する方法は?
したがって、ScalaはJavaと同じくらい高速であるはずです。私が最初にJavaで取り組んだScalaのProject Eulerの問題をいくつか取り上げます。具体的には問題5:「1から20までのすべての数値で割り切れる最小の正の数値は何ですか?」 これが私のJavaソリューションです。私のマシンで完了するまでに0.7秒かかります。 public class P005_evenly_divisible implements Runnable{ final int t = 20; public void run() { int i = 10; while(!isEvenlyDivisible(i, t)){ i += 2; } System.out.println(i); } boolean isEvenlyDivisible(int a, int b){ for (int i = 2; i <= b; i++) { if (a % i != 0) …

4
JavaScript forループを停止する方法は?
このJavaScriptを使用して配列を反復処理し、一致する配列要素を見つけています。 var remSize = [], szString, remData, remIndex, i; for (i = 0; i < remSize.length; i++) { // I'm looking for the index i, when the condition is true remSize[i].size == remData.size ? remIndex = i : remIndex = -1; } 配列には次の「サイズ」が含まれています["34", "36", "38"...]。 remData.size 私が探している「サイズ」です(例:「36」)。 i検索しているサイズがインデックス内にある場合、インデックスを返す必要があります。そうでなければ私は戻る必要があり-1ます。これを行うより良い方法はありますか?


19
forループでbreakを使用することは悪い習慣ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ループ内でbreakステートメントを使用することは悪い習慣ですか?for たとえば、配列の値を検索しています。forループ内を比較し、値が見つかったときにforループbreak;を終了します。 これは悪い習慣ですか?私は代替が使用されるのを見てきました:変数vFoundを定義し、値が見つかったときにtrueに設定vFoundし、forステートメント条件をチェックインします。しかし、この目的のためだけに新しい変数を作成する必要がありますか? 通常のCまたはC ++ forループのコンテキストで質問しています。 PS:MISRAコーディングガイドラインでは、breakの使用は推奨されていません。
123 for-loop  break 

6
vb.netで入れ子になっているBreaking / exit
vb.netのネストされたforまたはループから抜け出すにはどうすればよいですか? 私はexit forを使ってみましたが、ジャンプしたり壊れたりしたのはforループのみです。 どうすれば次のことができますか? for each item in itemList for each item1 in itemList1 if item1.text = "bla bla bla" then exit for end if end for end for

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