キューから要素のチャンクを取得するにはどうすればよいですか?

WoJ

10エントリのチャンクを取得してリストに入れる必要があるキューがあり、それをさらに処理します。以下のコードは機能します(「さらに処理された」は、この例では、リストを出力するだけです)。

import multiprocessing

# this is an example of the actual queue
q = multiprocessing.Queue()
for i in range(22):
    q.put(i)
q.put("END")

counter = 0
mylist = list()
while True:
    v = q.get()
    if v == "END":
        # outputs the incomplete (< 10 elements) list
        print(mylist)
        break
    else:
        mylist.append(v)
        counter += 1
        if counter % 10 == 0:
            print(mylist)
            # empty the list
            mylist = list()

# this outputs
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
# [20, 21]

このコードは醜いです。私はそれを改善する方法がわかりません-私は少し前に歩哨で使用iterする方法を読みましたが、私の問題がそれをどのように利用できるかわかりません。

問題を解決するためのより良い(=よりエレガント/パイソンの)方法はありますか?

忘れてください

iter2回使用できますが返されるiter(q.get, 'END')までキュー内の値を反復処理できるイテレータを返します'END'q.get()

次に、ハタのレシピを使用できます

iter(lambda: list(IT.islice(iterator, 10)), [])

イテレータを10項目のチャンクにグループ化します。

import itertools as IT
import multiprocessing as mp

q = mp.Queue()
for i in range(22):
    q.put(i)
q.put("END")

iterator = iter(q.get, 'END')
for chunk in iter(lambda: list(IT.islice(iterator, 10)), []):
    print(chunk)

収量

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[20, 21]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

キューから特定の要素を取得するにはどうすればよいですか?

分類Dev

キャラクターからと2の値を取得するにはどうすればよいですか?

分類Dev

キーチェーンからNEPacketTunnelProviderNetworkextensionのIDを取得するにはどうすればよいですか?

分類Dev

「.a」ファイルのアーキテクチャを取得するにはどうすればよいですか?

分類Dev

RecyclerViewからチャイルドビューを取得するにはどうすればよいですか?

分類Dev

すぐにクラッシュするAzure関数のコンソール出力をキャプチャするにはどうすればよいですか?

分類Dev

ダイアログボックスのEditTextビューから情報をキャプチャするにはどうすればよいですか?

分類Dev

AndroidのMPchartsの水平バーチャートからバークリックイベントを取得するにはどうすればよいですか?

分類Dev

AndroidのMPchartsの水平バーチャートからバークリックイベントを取得するにはどうすればよいですか?

分類Dev

キャンバスの要素を取得するにはどうすればよいですか?

分類Dev

メニューからバックイベントをキャッチするにはどうすればよいですか?

分類Dev

メニューからバックイベントをキャッチするにはどうすればよいですか?

分類Dev

このコンピューター出力をtxrクエリでキャプチャするにはどうすればよいですか?

分類Dev

コレクションからキーの配列によって要素を取得するにはどうすればよいですか?

分類Dev

Android bleのスキャン結果からCRCを取得するにはどうすればよいですか?

分類Dev

キャプチャされたパッケージからすべてのMACアドレスを取得するにはどうすればよいですか?

分類Dev

FirestoreのObservableからエラーをキャッチするにはどうすればよいですか?

分類Dev

Pythonを使用してWebページからハイパーリンクのテキスト要素を取得するにはどうすればよいですか?

分類Dev

部分行列のチャンクをより速く取得するにはどうすればよいですか?

分類Dev

キャンバスの特定の要素をクリアするにはどうすればよいですか?

分類Dev

ビューからコンテキストを取得するにはどうすればよいですか?

分類Dev

DateTimeをUTCからローカルに変換してから要素を確実にキャプチャするにはどうすればよいですか?

分類Dev

mongoDBから複数のドキュメントを取得するにはどうすればよいですか?

分類Dev

特定のリンクから要素を取得するにはどうすればよいですか?

分類Dev

パンダチャンクの行数を取得するにはどうすればよいですか?

分類Dev

ImageLocationから取得するピクチャーボックス画像の幅と高さを取得するにはどうすればよいですか?

分類Dev

C#のRedisキャッシュからすべてのキー値を取得するにはどうすればよいですか?

分類Dev

キャプチャグループの数を取得してから、文字を特定の文字に置き換えるにはどうすればよいですか?

分類Dev

ExcelからKeyUpイベントをキャプチャするにはどうすればよいですか

Related 関連記事

  1. 1

    キューから特定の要素を取得するにはどうすればよいですか?

  2. 2

    キャラクターからと2の値を取得するにはどうすればよいですか?

  3. 3

    キーチェーンからNEPacketTunnelProviderNetworkextensionのIDを取得するにはどうすればよいですか?

  4. 4

    「.a」ファイルのアーキテクチャを取得するにはどうすればよいですか?

  5. 5

    RecyclerViewからチャイルドビューを取得するにはどうすればよいですか?

  6. 6

    すぐにクラッシュするAzure関数のコンソール出力をキャプチャするにはどうすればよいですか?

  7. 7

    ダイアログボックスのEditTextビューから情報をキャプチャするにはどうすればよいですか?

  8. 8

    AndroidのMPchartsの水平バーチャートからバークリックイベントを取得するにはどうすればよいですか?

  9. 9

    AndroidのMPchartsの水平バーチャートからバークリックイベントを取得するにはどうすればよいですか?

  10. 10

    キャンバスの要素を取得するにはどうすればよいですか?

  11. 11

    メニューからバックイベントをキャッチするにはどうすればよいですか?

  12. 12

    メニューからバックイベントをキャッチするにはどうすればよいですか?

  13. 13

    このコンピューター出力をtxrクエリでキャプチャするにはどうすればよいですか?

  14. 14

    コレクションからキーの配列によって要素を取得するにはどうすればよいですか?

  15. 15

    Android bleのスキャン結果からCRCを取得するにはどうすればよいですか?

  16. 16

    キャプチャされたパッケージからすべてのMACアドレスを取得するにはどうすればよいですか?

  17. 17

    FirestoreのObservableからエラーをキャッチするにはどうすればよいですか?

  18. 18

    Pythonを使用してWebページからハイパーリンクのテキスト要素を取得するにはどうすればよいですか?

  19. 19

    部分行列のチャンクをより速く取得するにはどうすればよいですか?

  20. 20

    キャンバスの特定の要素をクリアするにはどうすればよいですか?

  21. 21

    ビューからコンテキストを取得するにはどうすればよいですか?

  22. 22

    DateTimeをUTCからローカルに変換してから要素を確実にキャプチャするにはどうすればよいですか?

  23. 23

    mongoDBから複数のドキュメントを取得するにはどうすればよいですか?

  24. 24

    特定のリンクから要素を取得するにはどうすればよいですか?

  25. 25

    パンダチャンクの行数を取得するにはどうすればよいですか?

  26. 26

    ImageLocationから取得するピクチャーボックス画像の幅と高さを取得するにはどうすればよいですか?

  27. 27

    C#のRedisキャッシュからすべてのキー値を取得するにはどうすればよいですか?

  28. 28

    キャプチャグループの数を取得してから、文字を特定の文字に置き換えるにはどうすればよいですか?

  29. 29

    ExcelからKeyUpイベントをキャプチャするにはどうすればよいですか

ホットタグ

アーカイブ