こんちには。
配列をグループ化して、グループを任意の単位のサブグループで括りたいと考えております。
例えば、グループ化後、2個単位にまとめる場合、以下のイメージです。
[1,1,1,2,2,3,3,4,4,4] -> [[[1,1,1],[2,2]],[[3,3],[4,4,4]]]
頑張れば、書けると思うのですが、itertoolsなどでスッキリ書きたいと思っています。
以下のように書いたのですが、なぜか奇数の時にgrouperの値が入っていないです。
python
1from itertools import groupby 2from more_itertools import chunked 3 4x = [1,1,1,2,2,3,3,4,4,4] 5x_grouped = map(lambda xx: xx[1], groupby(x)) 6for a,b in chunked(x_grouped,2): 7 print(a,b) 8 print(list(a), list(b)) 9 10## <itertools._grouper object at 0x7f24339436a0> <itertools._grouper object at 0x7f24339432e8> 11## [] [2, 2] 12## 13## <itertools._grouper object at 0x7f24339436d8> <itertools._grouper object at 0x7f24339430f0> 14## [] [4, 4, 4]
どなたか原因と解決策がお分かりの人、よろしくお願い致します。
※なんで、こんなことしたいのかは問わないでください・・

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 23:20