我正在尝试创建一个字典,并为每个值
指定值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?
答案 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
。