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

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


9
マップのC ++マップをループするにはどうすればよいですか?
std::mapC ++でループするにはどうすればよいですか?私の地図は次のように定義されています: std::map< std::string, std::map<std::string, std::string> > たとえば、上記のコンテナは次のようなデータを保持します。 m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; このマップをループしてさまざまな値にアクセスするにはどうすればよいですか?

12
再帰はループよりも速いですか?
再帰はループよりもクリーンな場合があることを知っています。反復に対して再帰をいつ使用するべきかについては何も質問していません。これについては多くの疑問がすでにあることを知っています。 私が求めていることは、ある再帰で、これまでより高速ループよりも?私には、ループが常に新しいスタックフレームをセットアップすることがないため、ループを改良して再帰関数よりも速く実行できるように思えます。 一部の並べ替え関数やバイナリツリーなど、再帰がデータを処理する正しい方法であるアプリケーションで、再帰がより高速であるかどうかを具体的に探しています。


3
Python 3でgenerator.next()は表示されますか?
たとえば、シリーズを生成するジェネレータがあります。 def triangle_nums(): '''Generates a series of triangle numbers''' tn = 0 counter = 1 while True: tn += counter yield tn counter += + 1 Python 2では、次の呼び出しを行うことができます。 g = triangle_nums() # get the generator g.next() # get the next value ただし、Python 3で同じ2行のコードを実行すると、次のエラーが発生します。 AttributeError: 'generator' object has no attribute 'next' …

10
jQueryで配列をループする方法は?
配列をループしようとしています。私は次のコードを持っています: var currnt_image_list= '21,32,234,223'; var substr = currnt_image_list.split(','); // array here 配列からすべてのデータを取得しようとしています。誰かが私を正しい道に導くことができますか?

8
反復中にコレクションから要素を削除する
私の知る限り、2つのアプローチがあります。 コレクションのコピーを反復処理します 実際のコレクションのイテレーターを使用する 例えば、 List<Foo> fooListCopy = new ArrayList<Foo>(fooList); for(Foo foo : fooListCopy){ // modify actual fooList } そして Iterator<Foo> itr = fooList.iterator(); while(itr.hasNext()){ // modify actual fooList using itr.remove() } あるアプローチを他のアプローチよりも好む理由はありますか(たとえば、読みやすさの単純な理由から最初のアプローチを好む)。

3
辞書を反復する方法はありますか?
を取得するためにNSDictionaries必要な場所として知っています。しかし、どのように私はすべての反復処理できるとして、私はそこにあるかのキーを知って、そしてどのような値がありますか?そのことを、私はと呼ばれるものがある知っているため、ループ内では。似たようなものはありますか?keyvaluekeysvaluesNSDictionaryJavaScriptObjective-C

9
Rubyの「for」と「each」
Rubyのループについて簡単な質問をしました。コレクションを反復処理するこれらの2つの方法に違いはありますか? # way 1 @collection.each do |item| # do whatever end # way 2 for item in @collection # do whatever end これらがまったく同じかどうか、または微妙な違いがあるかどうか(おそらく@collectionがnilの場合)を考えています。
200 ruby  loops  foreach  iteration  each 

15
オブジェクトを含む配列をループしてそのプロパティにアクセスする方法
配列に含まれるオブジェクトを循環させて、それぞれのプロパティを変更したいと思います。私がこれをすると: for (var j = 0; j < myArray.length; j++){ console.log(myArray[j]); } コンソールは配列内のすべてのオブジェクトを表示するはずですよね?ただし、実際には最初のオブジェクトのみが表示されます。ループの外で配列をコンソールログに記録すると、すべてのオブジェクトが表示されるので、そこには確実に多くのオブジェクトがあります。 とにかく、これが次の問題です。ループを使用して、配列内のObject1.xなどにどのようにアクセスしますか? for (var j = 0; j < myArray.length; j++){ console.log(myArray[j.x]); } これは「未定義」を返します。繰り返しになりますが、ループの外側のコンソールログから、オブジェクトにはすべて「x」の値があることがわかります。ループでこれらのプロパティにアクセスするにはどうすればよいですか? プロパティごとに個別の配列を使用することを他の場所で推奨されましたが、最初にこの方法を使い果たしたことを確認したいと思います。 ありがとうございました!

17
すべての再帰を反復に変換できますか?
redditのスレッドが明らかに興味深い質問を育てました。 末尾再帰関数は簡単に反復関数に変換できます。その他のものは、明示的なスタックを使用して変換できます。すべての再帰を反復に変換できますか? 投稿の(counter?)の例はペアです: (define (num-ways x y) (case ((= x 0) 1) ((= y 0) 1) (num-ways2 x y) )) (define (num-ways2 x y) (+ (num-ways (- x 1) y) (num-ways x (- y 1))



8
Pythonのオブジェクト属性を反復する
私はいくつかの属性とメソッドを持つpythonオブジェクトを持っています。オブジェクト属性を反復処理したい。 class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements すべてのオブジェクト属性とその現在の値を含むディクショナリを生成したいのですが、動的な方法で生成したいので(後で別の属性を追加した場合でも、関数を更新することを覚えておく必要はありません)。 PHPでは変数をキーとして使用できますが、Pythonのオブジェクトはスクリプトを使用できません。このためにドット表記を使用すると、私の目的ではないvarの名前で新しい属性が作成されます。 物事をより明確にするために: def to_dict(self): '''this is what I already have''' d={} d["attr1"]= self.attr1 d["attr2"]= self.attr2 d["attr3"]= self.attr3 return d ・ def to_dict(self): '''this is what I want to do''' d={} for v in my_python_obj.attributes: d[v] = self.v return …

6
Pythonはイテレータの振る舞いとnext(iterator)をリストします
考慮してください: >>> lst = iter([1,2,3]) >>> next(lst) 1 >>> next(lst) 2 したがって、イテレータの前進は、予想通り、同じオブジェクトを変更することによって処理されます。 これが事実であると私は期待します: a = iter(list(range(10))) for i in a: print(i) next(a) 毎秒の要素をスキップするにnextは:への呼び出しでイテレータを1回進める必要があります。次に、ループによって行われる暗黙の呼び出しでもう一度繰り返す必要があり、この2番目の呼び出しの結果がに割り当てられiます。 そうではありません。ループは、リスト内のすべての項目をスキップせずに印刷します。 私が最初に思ったのは、ループiterは渡されたものを呼び出すために発生する可能性があり、独立したイテレータを提供する可能性があるということでした。これはそうではありませんiter(a) is a。 では、なぜnextこの場合に反復子を進めないように見えるのでしょうか?

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