問題タブ [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 投票する
3 に答える
45270 参照

python - オブジェクトがPythonで反復可能かどうかを確認するには?

Python オブジェクトが反復、別名反復可能オブジェクトをサポートしているかどうかを確認するにはどうすればよいですか (定義を参照)

isiterable(p_object)理想的には、 True または False (モデル化) を返すのと同様の関数が必要isinstance(p_object, type)です。

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

python - 2 つの iterable から辞書を作成し、両方を使用する

2 つのリストがあり、それらから辞書を作成したいとします。お気に入り:

これは私が望むように機能し、リストの長さが等しくないため、要素4と要素5は除外され、それらに対応する値はありません。それは予想通りです。

しかし、値が必要な場合はどうすればよいでしょNonelか。出力を次のようにしたい:

{1: 'a', 2: 'b', 3: 'c', 4: None, 5: None}

私が考えた解決策の 1 つは、両方を反復処理し、それらの長さを比較してNone、必要に応じて追加することでした。私もうまくいく解決策を持っていますが、おそらくもっと簡単で短い方法でそれを行うことができるかどうか疑問に思っていましたか?

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

python - Python __iter__ と for ループ

私が理解しているように、反復子を返すメソッドを使用forして、オブジェクトに対してループ構造を使用できます。__iter__次の__getattribute__メソッドを実装するオブジェクトがあります。

このクラスのオブジェクトがaあり、次のことが起こります。

そのため、 Python はaメソッドがあることを認識して__iter__いますが、反復可能であるとは考えていません。私は何を間違えましたか?これはpython 2.6.4です。

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

java - 「foreach」で繰り返しリストをトラバースすることはできますか?

リストを繰り返しトラバースすることはできますか?ArrayListを使用すると、「foreach」でリストを何度もトラバースできますが、hadoop(分散コンピューティングフレームワーク)の関数でiterableをパラメーターとして使用すると、初めてiterableをトラバースできるのは、 foreachをもう一度使用すると、何も得られません。元:

-----最初にArrayListに保存する必要があります...私の理解では、foreachは反復可能である必要があるだけですが、なぜArrayListはできますが、パラメーターはできませんか?たくさん読んでくれてありがとう。

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

java - Iterable を実装する汎用クラス

いくつかのクラス(ジェネリッククラスタイプではない)にIterableインターフェースを実装するタイプTのIterable(ImplIterableと呼びましょう)を実装するジェネリッククラスが必要です。例えば:

A はあるクラスです。さて、このコードはコンパイルされません:

しかし、これは:

後者がコンパイルされない理由と、反復可能を適切に実装している場合に ImplIterable を反復処理できない理由がわかりません。私は何か間違ったことをしていますか/この種の問題に対する回避策はありますか?

0 投票する
7 に答える
45232 参照

python - ジェネレーター/イテレーターでアイテムの数を数える最短の方法は何ですか?

要素自体を気にせずに iterable 内のアイテムの数が必要な場合、それを取得する Pythonic の方法は何でしょうか? 今、私は定義します

lambdaしかし、私は有害であると見なされることに近いことを理解しており、lambda _: 1確かにきれいではありません.

(これの使用例は、正規表現に一致するテキスト ファイル内の行数をカウントすることですgrep -c。)

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

java - Java IteratorとIterableを同じクラスに実装しますか?

JavaIteratorIterableインターフェースを理解しようとしています

私はこのクラスを書いています

動作しているようです。

私が持っている必要があります:

または私はMyClassIteratorMyClassに置く必要があります

どちらがいいですか?

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

java - java: 不変の Iterable に対する同時反復

Iterable<X>多数の要素を持つ不変のものがあります。(たまたまですが、List<>気にしないでください。)

私がやりたいことは、いくつかの並列/非同期タスクを開始しIterable<> て、同じ反復子で反復処理することです。どのインターフェイスを使用すればよいか考えています

to-be-determined インターフェイスを使用した実装例を次に示しますQuasiIteratorInterface

これが私の問題です:

  • hasNext() と next() には同期の問題があるため、直接使用しても意味がありませんIterator。hasNext() は、誰かが next() を呼び出す前に呼び出すと役に立ちません。

  • を使いたいのですQueueが、必要な唯一の方法はpoll()

  • ConcurrentLinkedQueue を使用して多数の要素を保持したいのですが、要素を複数回反復処理する必要がある場合を除き、それを使用することはできません。

助言がありますか?

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

java - なぜこれほど多くのメソッドがIterableではなくCollectionを使用するのですか?

IEnumerable<T>C#を使用することで、インターフェイスが大好きになりました。それだけを配り、取り入れたい場合がたくさんあります。さらに、.Netライブラリで役立ちます。たとえば、List<T>をとるクラスのコンストラクタがありIEnumerable<T>ます。

現時点ではJavaを使用する必要があり、当然、同等のIterable<T>インターフェースを使用したいと思いました。ただ、どこでも使えるとは思えません。代わりに、すべてが拡張Collection<T>インターフェースを使用しているようです。どうしてこれなの?

例として、:ArrayList<T>を取るコンストラクターがあります。Collection<T>

指定されたコレクションの要素を含むリストを、コレクションのイテレーターによって返される順序で作成します。

Iterable<T>代わりに取ってみませんか?

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

scala - Scala 2.9.0 で Iterable.flatMap をオーバーライドするにはどうすればよいですか?

コードの一部を 2.9.0 に更新したところ、問題が発生しました。私は「NonStrictIterable」と呼ぶ特性を持っています (本質的に、すべてが可能な限り怠惰であるべきです --- 誰かが実際に要素を要求するまで、NonStrictIterable 自体の外側のコードは実行されません)。

ただし、2.9.0 では flatMap をオーバーライドできないようです。エラーを示すカットダウンバージョンを次に示します。

これは 2.9.0 より前に機能していましたが、「メソッド flatMap は何もオーバーライドしません」というメッセージが表示されます。Iterable.flatMap のメソッド シグネチャを調べるとTraversableOnce、型シグネチャが に変更されていることがわかりenTraversableOnceます。対応する変更を行う

「エラーまたはアクセスできない型」というコンパイラ エラーが発生します。

どうしたの?誰かが回避策を提案できますか?