0

項目のリストから長さ n の可能な組み合わせのリストのリストを作成しました。次に、各キーが可能な組み合わせのリストの項目の 1 つである辞書を作成したいので、何回数え始めることができますか?各組み合わせは、一連の観測で発生します (アソシエーション ルール エンジンのプログラミングの初期段階)。ここに私が持っているものがあります:

import itertools
stuff=(1,2,3,4)
n=1
combs=list()
while n<=len(stuff):
    combs.append(list(itertools.combinations(stuff,n)))
    n = n+1
print combs
viewers={'Jim':(1,3,4), 'Bob':(1,2,4), 'Jerry':(1,4), 'Ben':(2), 'Sal':(1,4)}  
showcount={}
for list in combs:
    for item in list:
        showcount["%s",%(item)]=0
print viewers
print showcount

アイテムを辞書のキーとして表示するにはどうすればよいですか? たとえば、'(1,2,4):0' という組み合わせをキーと値のペアにして、後で '(1,2,4)' の出現回数をカウントできるようにします。私はPythonにはかなり慣れていませんが、答えを探し回ったのですが、見つかりませんでした。これが答えられていて、私がそれを見つけることができなかった場合はお詫び申し上げます。

4

1 に答える 1

7

タプルをキーとして使用できます。

mydict = { (1, 2, 4): 0 }

物事を数えたい場合は、を見てください。collections.Counter数えるのは簡単で、キーを0に初期化する必要はありません。

counts = collections.Counter()
counts[(1, 2, 4)] += 1
于 2012-10-04T17:47:24.133 に答える