Python字典打印所有键的所有值

use*_*_01 2 python dictionary list key-value

我有两个python列表:

keys=[1,2,2,3,2,3]
values=['apple','book','pen','soccer','paper','tennis']
Run Code Online (Sandbox Code Playgroud)

"键"是"值"列表中相应单词的簇ID列表.我希望使用打印键值对

keys=[1,2,2,3,2,3]
values=['apple','book','pen','soccer','paper','tennis']

dictionary = dict(zip(keys, values))
for key, value in dictionary.items() :
    print (key, value)
Run Code Online (Sandbox Code Playgroud)

但它只打印

1 apple
2 paper
3 tennis
Run Code Online (Sandbox Code Playgroud)

我真正想要的是获得所有这些键的所有值

1 [apple]
2 [book,pen,paper]
3 [soccer,tennis]
Run Code Online (Sandbox Code Playgroud)

我知道我的当前代码应该逻辑上打印第一个输出,因为键是唯一的.但是如何更改它以便打印所有键的所有值?先感谢您!

tom*_*sen 5

from collections import defaultdict

keys=[1,2,2,3,2,3]
values=['apple','book','pen','soccer','paper','tennis']

d = defaultdict(list)
for k, v in zip(keys, values):
    d[k].append(v)
Run Code Online (Sandbox Code Playgroud)