-3

私はデータマイニングアルゴリズムを実装しています。私の最小のオブジェクトがセットである私。セットには、単一のアイテムまたは複数のアイテム (Itemset) が含まれる場合があります。辞書内のそのようなセットの出現を次のようにカウントする必要があります。

Dict={set([<some items>] : count)}

次の理由から、このようなデータ型が必要です。

  1. セット内のアイテムの順序は考慮されません (item1、item2、item3 は item2、item3、item1 などと同じです...)
  2. セットを辞書に追加すると、キーの繰り返しが回避されます。
  3. アイテムセットと同じデータ構造にカウントを格納します。

Pythonでこれを実現する最も簡単な方法を提案してください。

4

1 に答える 1

2

asキーCounterで使用できます:frozenset

from collections import Counter

items = [
    [1, 2, 3],
    [1, 2],
    [3, 2, 1]
]

c = Counter(frozenset(x) for x in items)
print(c) # Counter({frozenset([1, 2, 3]): 2, frozenset([1, 2]): 1})
于 2016-05-18T09:54:31.460 に答える