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

イテレータは、オブジェクト指向のプログラミングパターンであり、コレクションを通過し、物理メモリ内の実際の実装やオブジェクトアドレスに依存しません。これは、ギャングオブフォーの行動設計パターンの1つです。

14
Pythonイテレータから最後のアイテムを取得する最もクリーンな方法
Python 2.6のイテレータから最後のアイテムを取得する最良の方法は何ですか?たとえば、 my_iter = iter(range(5)) 取得する最短コード/クリーンな方法は何ですか 4からではmy_iter? 私はこれを行うことができましたが、それは非常に効率的ではないようです: [x for x in my_iter][-1]


5
イテレータを使用してベクトルをナビゲートする方法は?(C ++)
目的は、[]演算子や「at」メソッドではなく、文字列のベクトルの「n番目」の要素にアクセスすることです。私が理解していることから、コンテナをナビゲートするためにイテレータを使用できますが、これまでイテレータを使用したことがなく、読んでいるものは混乱しています。 これを達成する方法について誰かが私にいくつかの情報を提供できたら、私はそれを感謝します。ありがとうございました。
105 c++  iterator  vector 

8
ArrayListの反復子を使用すると、ArrayIndexOutOfBoundsException
現在、次のようなコードを含むプログラムがあります。 while (arrayList.iterator().hasNext()) { //value is equal to a String value if( arrayList.iterator().next().equals(value)) { // do something } } ArrayListを反復処理する限り、私はそれを正しく行っていますか? 私が得ているエラーは: java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(Unknown Source) at main1.endElement(main1.java:244) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at …



12
if(items!= null)がforeach(T item in items)の前に不必要ですか?
私はしばしば次のようなコードに出くわします: if ( items != null) { foreach(T item in items) { //... } } 基本的に、if条件は、がnullでないforeach場合にのみブロックが実行されることを保証しitemsます。if条件が本当に必要かどうか、または場合foreachを処理しますかitems == null。 つまり、簡単に書けますか foreach(T item in items) { //... } itemsnull かどうかを心配せずに?あるif条件の余分は?それともこれは、依存するタイプのitems上で多分かTにも?


9
イテレータが少なくとも1つの要素を生成するかどうかを確認するワンライナー?
現在私はこれをやっています: try: something = iterator.next() # ... except StopIteration: # ... しかし、簡単なifステートメントの中に配置できる式が欲しいのですが。このコードを扱いにくくする組み込みの機能はありますか? any()Falseイテラブルが空の場合はを返しますが、空でない場合はすべてのアイテムを反復処理する可能性があります。最初のアイテムをチェックするためだけに必要です。 誰かが私が何をしようとしているのかと尋ねます。SQLクエリを実行してその結果を生成する関数を作成しました。この関数を呼び出すとき、クエリが何かを返したかどうかを知り、それに基づいて決定をしたい場合があります。
100 python  iterator 

6
Pythonの循環リストイテレータ
最後に訪問したアイテムから開始するたびに、おそらく何度も循環リストを反復処理する必要があります。 ユースケースは接続プールです。クライアントは接続を要求し、イテレータはポイントされた接続が使用可能かどうかを確認してそれを返します。それ以外の場合は、使用可能な接続が見つかるまでループします。 Pythonでそれを行うためのきちんとした方法はありますか?
99 python  list  iterator 

2
パンダで特定の条件が満たされた行の値を更新します
次のデータフレームがあるとします。 ストリームが2番の場合、列featおよびanother_featの値を更新する最も効率的な方法は何ですか? これでしょうか? for index, row in df.iterrows(): if df1.loc[index,'stream'] == 2: # do something 更新: 100を超える列がある場合はどうすればよいですか?更新する列に明示的に名前を付けたくありません。各列の値を2で割りたい(ストリーム列を除く)。 だから私の目標が何であるかを明確にするために: すべての値をストリーム2を持つすべての行の2で除算しますが、ストリーム列は変更しません


12
C ++ベクトルを最後から最初まで反復する
ベクトルを最後から最初まで反復することは可能ですか? for (vector<my_class>::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } または、それはそのようなものでのみ可能です: for (int i = my_vector.size() - 1; i >= 0; --i) { }
96 c++  vector  iterator 

7
Pythonで1行のcsvデータを読み取る方法は?
次のように、Pythonを使用してcsvデータを読み取る例はたくさんあります。 import csv with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: print(row) 1行のデータを読み取り、それをさまざまな変数に入力したいだけです。それ、どうやったら出来るの?私はどこでも実用的な例を探しました。 私のコードはiの値のみを取得し、他の値は取得しません reader = csv.reader(csvfile, delimiter=',', quotechar='"') for row in reader: i = int(row[0]) a1 = int(row[1]) b1 = int(row[2]) c1 = int(row[2]) x1 = int(row[2]) y1 = int(row[2]) z1 = int(row[2])
94 python  file  csv  iterator  next 


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