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

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

6
Perl配列を反復処理する最良の方法
Perl配列を反復処理するための(速度とメモリ使用量の観点から)最良の実装はどれですか?もっと良い方法はありますか?(@Array保持する必要はありません)。 実装1 foreach (@Array) { SubRoutine($_); } 実装2 while($Element=shift(@Array)) { SubRoutine($Element); } 実装3 while(scalar(@Array) !=0) { $Element=shift(@Array); SubRoutine($Element); } 実装4 for my $i (0 .. $#Array) { SubRoutine($Array[$i]); } 実装5 map { SubRoutine($_) } @Array ;
93 arrays  perl  iteration 

6
パンダのiterrowsにはパフォーマンスの問題がありますか?
パンダのiterrowを使用すると、パフォーマンスが非常に低下することに気づきました。 これは他の人が経験するものですか?それはiterrowsに固有ですか?この関数は特定のサイズのデータ​​(200万から300万行を処理しています)に対しては回避する必要がありますか? GitHub に関するこの議論から、データフレームでdtypeが混在していることが原因であると信じるようになりましたが、以下の簡単な例では、1つのdtype(float64)を使用している場合でも存在することを示しています。これは私のマシンで36秒かかります: import pandas as pd import numpy as np import time s1 = np.random.randn(2000000) s2 = np.random.randn(2000000) dfa = pd.DataFrame({'s1': s1, 's2': s2}) start = time.time() i=0 for rowindex, row in dfa.iterrows(): i+=1 end = time.time() print end - start applyのようなベクトル化された操作がなぜこれほど速くなるのですか?そこにも行ごとの反復がいくつかあるはずだと思います。 私の場合にiterrowを使用しない方法を理解できません(これは今後の質問のために保存します)。したがって、この繰り返しを常に回避できる場合は、ご連絡いただければ幸いです。個別のデータフレームのデータに基づいて計算を行っています。ありがとうございました! ---編集:実行したいものの簡略版を以下に追加しました--- import pandas as pd …

4
std :: setを反復する方法?
私はこのコードを持っています: std::set<unsigned long>::iterator it; for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) { u_long f = it; // error here } ->first価値はありません。どのようにして値を取得できますか?
91 c++  set  iteration 

14
前の値と次の値にもアクセスするPythonループ
オブジェクトのリストを繰り返し処理して、前、現在、次のアイテムにアクセスするにはどうすればよいですか?このC / C ++コードのように、Pythonで? foo = somevalue; previous = next = 0; for (i=1; i<objects.length(); i++) { if (objects[i]==foo) { previous = objects[i-1]; next = objects[i+1]; } }

6
Javascriptセットとアレイのパフォーマンス
セットはJavascriptに比較的新しいためかもしれませんが、StackOやその他の場所で、Javascriptの2つのパフォーマンスの違いについて説明している記事を見つけることができませんでした。では、パフォーマンスの観点から、2つの違いは何ですか?具体的には、削除、追加、反復に関してです。

3
Rubyで配列を反復処理しているときに、配列を変更するにはどうすればよいですか?
私はRubyを学んでいるだけなので、これがこの辺りでは初心者すぎる場合はお詫びしますが、つるはしの本からこれを理解することはできません(おそらく十分に注意深く読んでいないだけです)。とにかく、私がそのような配列を持っている場合: arr = [1,2,3,4,5] ...そして、たとえば、配列の各値に3を掛けたいのですが、次のようにして解決しました。 arr.each {|item| item *= 3} ...必要なものが得られません(そして、その理由を理解しています。配列自体を変更していません)。 私が得られないのは、イテレータの後にコードブロック内から元の配列を変更する方法です。これはとても簡単だと思います。
88 ruby  arrays  iteration 

8
Pythonリストを反復するための開始インデックス
Pythonでリストを反復するときに開始インデックスを設定するための最良の方法は何ですか。たとえば、曜日のリスト(日曜日、月曜日、火曜日、...土曜日)がありますが、月曜日からリストを繰り返し処理したいと思います。これを行うためのベストプラクティスは何ですか?
88 python  iteration 

8
MATLABでn次元行列の各要素を反復処理するにはどうすればよいですか?
私は問題があります。MATLABのn次元行列のすべての要素を反復処理する必要があります。問題は、任意の数の次元に対してこれを行う方法がわからないことです。私は言うことができることを知っています for i = 1:size(m,1) for j = 1:size(m,2) for k = 1:size(m,3) などですが、任意の数の次元に対してそれを行う方法はありますか?

10
Rubyeach_with_indexオフセット
each_with_indexループイテレータでインデックスのオフセットを定義できますか?私の率直な試みは失敗しました: some_array.each_with_index{|item, index = 1| some_func(item, index) } 編集: 明確化:配列オフセットは必要ありません。each_with_index内のインデックスが0からではなく、たとえば1から始まるようにします。
84 ruby  iteration 

12
Scalaのインデックスを使用した効率的な反復
Scalaにはforインデックス付きの古いJavaスタイルのループがないため、 // does not work val xs = Array("first", "second", "third") for (i=0; i<xs.length; i++) { println("String #" + i + " is " + xs(i)) } を使用せずに、どうすれば効率的に反復できvarますか? あなたはこれを行うことができます val xs = Array("first", "second", "third") val indexed = xs zipWithIndex for (x <- indexed) println("String #" + x._2 + " …
83 scala  iteration 

3
PHP:array_map関数でインデックスを取得できますか?
私は次のようにphpでマップを使用しています: function func($v) { return $v * 2; } $values = array(4, 6, 3); $mapped = array_map(func, $values); var_dump($mapped); 関数内の値のインデックスを取得することは可能ですか? また、インデックスが必要なコードを書いている場合、マップの代わりにforループを使用する必要がありますか?

12
Java HashMap keySet()の反復順序は一貫していますか?
MapのkeySet()メソッドから返されるSetは、特定の順序を保証するものではないことを理解しています。 私の質問は、それは複数の反復にわたって同じ順序を保証するかどうかです。例えば Map<K,V> map = getMap(); for( K k : map.keySet() ) { } ... for( K k : map.keySet() ) { } 上記のコードでは、マップが変更されていないと仮定すると、keySetに対する反復は同じ順序になります。Sunのjdk15を使用することはありません同じ順序で反復するが、私はこの動作に依存する前に、私はすべてのJDKが同じことをするでしょうかどうかを知りたいのです。 編集 答えから、私はそれに頼ることができないことがわかります。残念な。注文を保証するために新しいコレクションを作成する必要がないことを望んでいました。私のコードは、繰り返し処理し、いくつかのロジックを実行してから、同じ順序で再度繰り返し処理する必要がありました。keySetから新しいArrayListを作成するだけで、順序が保証されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.