使用变量名称键将项添加到字典python

时间:2012-10-04 17:43:30

标签: python list dictionary

我列出了项目列表中n长度的可能组合列表,现在我想创建一个字典,其中每个键是可能组合列表列表中的一个项目,所以我可以开始计数每组合在一组观察中发生的次数(编程关联规则引擎的早期阶段)。这就是我所拥有的:

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很陌生,但我确实找到了答案而找不到答案。抱歉,如果这已经得到解答,我就找不到它。

1 个答案:

答案 0 :(得分:7)

您可以使用元组作为键:

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

如果你想计算一些东西,看看collections.Counter,它会使计数变得微不足道,不需要将键初始化为0:

counts = collections.Counter()
counts[(1, 2, 4)] += 1