Python 简明地填写词典

Python 简明地填写词典,python,Python,我有一个以下格式的文件: 1,abc 1,def 2,abc 3,abc 3,def 我正在将此文件加载到字典中,如下所示: d = dict() datareader = csv.reader(open(filename, "r")) for row in datareader: if row[0] in d: d.get(row[0]).add(row[1]) else: d[row[0]] = {row[1]} 它成功地加载了它的,并且

我有一个以下格式的文件:

1,abc
1,def
2,abc
3,abc
3,def
我正在将此文件加载到字典中,如下所示:

d = dict()
datareader = csv.reader(open(filename, "r"))

for row in datareader:
    if row[0] in d:
        d.get(row[0]).add(row[1])
    else:
        d[row[0]] = {row[1]}
它成功地加载了它的,并且输出是我想要的:

{'1': {'abc', 'def'}, '2': {'abc'}, '3': {'abc', 'def'}}
是否可以在一行中写入if/else条件?如果是,怎么做

关于如何使代码简洁,还有什么其他想法吗?

内置的集合模块就是这样一个东西:

内置的collections模块具有以下功能:

from collections import defaultdict

d = defaultdict(set)
datareader = csv.reader(open(filename, "r"))

for key, value in datareader:
    d[key].add(value)