创建字典并为每个类别指定值0

时间:2012-07-26 23:56:38

标签: python dictionary

我正在尝试创建一个字典,并为每个值

指定值0

这是我到目前为止所拥有的:

c.execute("""SELECT category from wordtest order by category""")
catnum = c.fetchall()
catnum = [list(x) for x in catnum]
catnum = sum(catnum, [])
catnums = defaultdict(list)
for key in catnum:
        catnums[key].append(0)

但我得到的输出是{"key": [0]},我不希望列表中的值。

数据库中的类别只是一个单词列表。

如何使每个键的catnums值为0?

2 个答案:

答案 0 :(得分:5)

您可以使用fromkeys dict方法

>>> dict.fromkeys(range(5), 0)
{0: 0, 1: 0, 2: 0, 3: 0, 4: 0}

所以你的代码将是:

catnums = dict.fromkeys(catnum, 0)

答案 1 :(得分:3)

我错过了什么吗?以下是否符合您的要求?:

catnums={}
for key in catnum:
    catnums[key]=0

为什么你需要一个defaultdict?

请注意,如果您想要一个默认为默认值为0的defaultdict,您可以这样做:

zerodict=defaultdict(int)

因为int()返回0