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

Cec*_*uez 0 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)
Run Code Online (Sandbox Code Playgroud)

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

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

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

JBe*_*rdo 5

您可以使用fromkeysdict方法

>>> dict.fromkeys(range(5), 0)
{0: 0, 1: 0, 2: 0, 3: 0, 4: 0}
Run Code Online (Sandbox Code Playgroud)

所以你的代码将是:

catnums = dict.fromkeys(catnum, 0)
Run Code Online (Sandbox Code Playgroud)