Defaultdict附加技巧

时间:2015-10-29 06:58:51

标签: python dictionary

我有一个文本文件,其中元素存储在两列中,如下所示:

 a 1,a 3,a 4,b 1,b 2,b 3,b 4,c 1,c 2.... etc

该文件包含两列,一个是键abc等,另一列是元素1234等。

我使用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

1 个答案:

答案 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