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)