整数のリストの要素を符号でグループ化する最も速い方法は?

モハマド・アリ・ネマトラヒ

ゼロ以外の整数のリストがあり、リストをネストされたリスト(=グループ)に変更したいのですが、各グループには、同じ符号を持つリストの連続する整数が含まれています。

私は次のコードでこれを行いました:

a = [1, 2, 3, -4, -5, -6, 7, 8, -9, 10, -11, 12]
groups = [[]]
for (i, x) in enumerate(a):
    if x ^ a[i - 1] < 0:
        groups.append([x])
    else:
        groups[-1].append(x)

さて、私の質問は、これを行うためのより速い方法があるということです。または、最速の方法は何ですか?

ヨッシレヴィ

itertools.groupbyがあなたが探しているもののようです。

import itertools
a = [1, 2, 3, -4, -5, -6, 7, 8, -9, 10, -11, 12]

c = [list(group) for key,group in itertools.groupby(a, lambda x: x>0)]
print(c)

出力:

[[1, 2, 3], [-4, -5, -6], [7, 8], [-9], [10], [-11], [12]]

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

このリストごとのforループを削除する最も速い方法は?

分類Dev

リスト内の数字の増加する桁をソート/フィルタリング/合計する最も速い方法は何ですか

分類Dev

Groovyリスト:要素の数でグループ化し、最も頻度の高い要素を見つけます

分類Dev

違いの観点からリストから最も近い要素をグループ化する

分類Dev

リストの各要素を別のリストの対応する要素と比較する最も速い方法は何ですか?

分類Dev

3番目のリストに基づいてリストのリストをフィルタリングする最も速い方法は?

分類Dev

javascriptを使用して要素のリストを分類/グループ化およびソートするための最良の方法は何ですか?

分類Dev

Cで-PIと+ PIの間の数値をトリミングする最も速い方法は何ですか?

分類Dev

numpy配列のグループ名をインデックスにマップする最も速い方法は何ですか?

分類Dev

トリプルの中間値を見つける最も速い方法は?

分類Dev

列名のリストからパンダデータフレームの列をドロップする最も速い方法は何ですか

分類Dev

Rのリスト内の要素のグループを平均化する方法は?

分類Dev

Pythonでリストのリスト内の要素をグループ化する方法は?

分類Dev

配列から値のすべての出現を削除する最も速い方法は、それを最も速くスプライスすること、またはより速くフィルターすることです。

分類Dev

配列から値のすべての出現を削除する最も速い方法は、それを最も速くスプライスすること、またはより速くフィルターすることです。

分類Dev

フロートの逆を取得する最も速い方法は何ですか

分類Dev

Pythonでソートされたリストの要素にインデックスを付ける最も速い方法は?

分類Dev

Pythonはリストの最後の要素をグループ化します

分類Dev

Pythonで100,000のHTTPリクエストを送信する最も速い方法は何ですか?

分類Dev

文字列で始まる要素をリストで検索する最も速い方法は?

分類Dev

同じ名前のリスト要素をグループ化する方法は?

分類Dev

Python Pandasデータフレームの列で最大でグループを見つけてマークする最も速い方法は何ですか?

分類Dev

Haskell-デカルトグリッドで特定の最も近い隣人をグループ化する

分類Dev

iOS:プログラムでスクリーンショットを作成するための最も速くてパフォーマンスの高い方法は何ですか?

分類Dev

ブラウザでJavaScriptをデバッグするためのリスナーを見つける最も速い方法は何ですか?

分類Dev

リストをn個の要素でグループ化する方法。nはリストで定義されています。

分類Dev

リスト内の連続する整数を削除するための最も速くて効率的な方法は何ですか?

分類Dev

JavaScriptで配列をループする最も速い方法は何ですか?

分類Dev

Pythonで指定されたIDを持つ2次元リストの行(のコピー)を返す最も効率的な(最も速い)方法は何ですか?

Related 関連記事

  1. 1

    このリストごとのforループを削除する最も速い方法は?

  2. 2

    リスト内の数字の増加する桁をソート/フィルタリング/合計する最も速い方法は何ですか

  3. 3

    Groovyリスト:要素の数でグループ化し、最も頻度の高い要素を見つけます

  4. 4

    違いの観点からリストから最も近い要素をグループ化する

  5. 5

    リストの各要素を別のリストの対応する要素と比較する最も速い方法は何ですか?

  6. 6

    3番目のリストに基づいてリストのリストをフィルタリングする最も速い方法は?

  7. 7

    javascriptを使用して要素のリストを分類/グループ化およびソートするための最良の方法は何ですか?

  8. 8

    Cで-PIと+ PIの間の数値をトリミングする最も速い方法は何ですか?

  9. 9

    numpy配列のグループ名をインデックスにマップする最も速い方法は何ですか?

  10. 10

    トリプルの中間値を見つける最も速い方法は?

  11. 11

    列名のリストからパンダデータフレームの列をドロップする最も速い方法は何ですか

  12. 12

    Rのリスト内の要素のグループを平均化する方法は?

  13. 13

    Pythonでリストのリスト内の要素をグループ化する方法は?

  14. 14

    配列から値のすべての出現を削除する最も速い方法は、それを最も速くスプライスすること、またはより速くフィルターすることです。

  15. 15

    配列から値のすべての出現を削除する最も速い方法は、それを最も速くスプライスすること、またはより速くフィルターすることです。

  16. 16

    フロートの逆を取得する最も速い方法は何ですか

  17. 17

    Pythonでソートされたリストの要素にインデックスを付ける最も速い方法は?

  18. 18

    Pythonはリストの最後の要素をグループ化します

  19. 19

    Pythonで100,000のHTTPリクエストを送信する最も速い方法は何ですか?

  20. 20

    文字列で始まる要素をリストで検索する最も速い方法は?

  21. 21

    同じ名前のリスト要素をグループ化する方法は?

  22. 22

    Python Pandasデータフレームの列で最大でグループを見つけてマークする最も速い方法は何ですか?

  23. 23

    Haskell-デカルトグリッドで特定の最も近い隣人をグループ化する

  24. 24

    iOS:プログラムでスクリーンショットを作成するための最も速くてパフォーマンスの高い方法は何ですか?

  25. 25

    ブラウザでJavaScriptをデバッグするためのリスナーを見つける最も速い方法は何ですか?

  26. 26

    リストをn個の要素でグループ化する方法。nはリストで定義されています。

  27. 27

    リスト内の連続する整数を削除するための最も速くて効率的な方法は何ですか?

  28. 28

    JavaScriptで配列をループする最も速い方法は何ですか?

  29. 29

    Pythonで指定されたIDを持つ2次元リストの行(のコピー)を返す最も効率的な(最も速い)方法は何ですか?

ホットタグ

アーカイブ