我有一个文本文件,其中元素存储在两列中,如下所示:
a 1,a 3,a 4,b 1,b 2,b 3,b 4,c 1,c 2.... etc
该文件包含两列,一个是键a
,b
,c
等,另一列是元素1
,2
, 3
,4
等。
我使用defaultdict存储这些项目并附加它们。 默认字典中的项目为:
defaultdict(<type 'list'>, `{'a': ['0', '1', '2', '3', '4'], 'c': ['1', '2'], 'b': ['1', '2', '3', '4']}`)
我使用了以下命令:
from collections import defaultdict
positions = defaultdict(list)
with open('test.txt') as f:
for line in f:
sob = line.split()
key=sob[0]
ele=sob[1]
positions[key].append(ele)
print positions
答案 0 :(得分:1)
insted of defaultdict你可以使用OrderedDict
from collections import OrderedDict
positions = OrderedDict()
with open('test.txt') as f:
for line in f:
key, ele = line.strip().split()
positions[key] = positions.get(key, []) + [ele]
print positions