問題タブ [iterable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
662 参照

java - Collection の代わりに Iterator を返す

データアクセスレイヤーのメソッドのコレクションよりもイテレータを返す方が望ましいという利点はありますか?

どこかで見たことがありますが、理由は覚えていません。

PS: 完了していない間に一部のデータをリアルタイムでフェッチすることに関係している可能性があります。

0 投票する
2 に答える
10384 参照

python - 'int' オブジェクトは反復可能ではありません

7.3 で、次の例で文字列 "racecar" が int 型として扱われている理由について疑問に思っていました。助けてくれてありがとう

0 投票する
5 に答える
14124 参照

python - Python で成功した正規表現の一致から辞書を作成する

私はPythonにかなり慣れていないので、ファイルを解析しようとしています。ファイル内の特定の行のみに目的のデータが含まれており、ファイル内の有効な一致行から解析された内容の辞書を作成したいと考えています。

以下のコードは機能しますが、少し醜いので、おそらく理解するか、複数行の正規表現を使用して、どのように行うべきかを学ぼうとしています。Python 3.2 を使用しています。

より良い実装を提案できますか?

0 投票する
4 に答える
86819 参照

java - Java がイテレータ (イテラブルのみ) で foreach を許可しないのはなぜですか?

重複の可能性:
Java の Iterator が Iterable でないのはなぜですか?

イテレータを指定して for-each ループを使用する慣用的な方法は?

Iterator 型のオブジェクトを反復処理するために for-each ループを使用できますか?

foreach ループは、私が知る限り、Java 5 で追加された構文シュガーです。

本質的に同じバイトコードを生成します

しかし、そもそも iterable がなく、イテレーターしかない場合 (たとえば、クラスが 2 つの異なるイテレーターを提供するため)、構文シュガー foreach ループを使用することはできません。明らかに、私はまだ昔ながらのスタイルの反復を行うことができます. しかし、私は実際にやりたい:

そしてもちろん、私は偽物を作ることができますIterable:

(実際、これは Iterable API の醜い悪用です。反復できるのは 1 回だけです!)

反復可能ではなく設計されている場合Iterator、多くの興味深いことができます。

言語がこのように設計された理由を誰か知っていますか? Iteratorクラスが と の両方を実装する場合のあいまいさを避けるにはIterable? 「for(O o : iter)」がすべての要素を 2 回処理する (そして新しい反復子を取得するのを忘れる) と想定するプログラマーのエラーを回避するには? それとも、これには別の理由がありますか?

または、私が知らない言語のトリックはありますか?

0 投票する
8 に答える
6299 参照

java - Java での反復子の動作

Java のイテレータの動作について質問があります。

次のような電話があります。

myIterable.iterator().hasNext()

この呼び出しが true を返す場合、コレクションに少なくとも 2 つの要素があることを確認できますか? Java API 仕様から、 true は で到達できる要素がもう 1 つあることを意味することしかわかりませんでしたnext()。しかし、ポインターが一番最初にある場合はどうなりますか (hasNext()が最初の要素を個別に認識できるかどうかを意味します)。

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html

反復にさらに要素がある場合は true になります。しかし、より多くの要素も最初の要素を意味する可能性がありますか?

[編集]

イテレータが反復する要素を正確に 2 つ持っているかどうかを知るにはどうすればよいですか? もちろん、繰り返してカウントすることはできますが、前に戻ったり、2 回繰り返したり、私の場合はイテレーターを複製したりすることはできません。これは Hadoop イテレーターです。

0 投票する
1 に答える
1157 参照

java - タイプ`リストのリストの並べ替え> `

タイプのリストがList<Iterable<Object>>あり、場合によってはコレクション内のオブジェクトもComparableです。

つまり、リストにはA型ではないComparableオブジェクトが多数含まれている場合もあれば、B型のオブジェクトが多数含まれている場合もありますComparable。タイプBのオブジェクトのリストがある場合、それらをソートできるようにしたいと思います。

リスト内のすべてのオブジェクトが揃ったら、を使用して、または同様のものComparableを使用して、それらを並べ替える必要があります。Collections.sort()Javaではリスト全体をキャストできません。また、Comparableインターフェイスを実装していない可能性があるため、単一の要素をキャストすることはできません。回避策はありますか?

それが役に立つなら、これは私のコードです:

0 投票する
2 に答える
614 参照

python - len()がイテレータをサポートしないのはなぜですか?

Pythonの組み込み関数の多く(いくつか例を挙げるany()all()、、、sum())は反復可能を取りますが、なぜそうではlen()ないのですか?

常にsum(1 for i in iterable)同等のものとして使用できますがlen()、そもそも反復可能を使用しないのはなぜですか?

0 投票する
10 に答える
115330 参照

java - Java で Iterable のサイズを取得する

IterableJava内の要素の数を把握する必要があります。私はこれを行うことができることを知っています:

Iterable 内のオブジェクトはこれ以上必要ないため、次のようなこともできます。

小規模なベンチマークでは、パフォーマンスに大きな違いは見られませんでした。この問題に関するコメントやその他のアイデアはありますか?

0 投票する
3 に答える
3185 参照

python - Python 3:反復可能オブジェクトに演算子を適用する

sum(iterable)効果的に:

Pythonには、初期値を設定せずにこれを実現する組み込み関数がありますか?

私が抱えている問題は、演算子sumをサポートする他のタイプでは機能しないことです。+Counter