简单的文件到字典

时间:2013-11-12 07:26:42

标签: python parsing dictionary

所以我在下面的文件中包含以下值。我想要做的是将这些int值放入字典中。

0  0   
0  1
0  2
0  3
0  4
1  1
1  2
1  3
1  4
1  5
2  3
2  4
3  3
4  5
5  0

我希望我的字典看起来像......

graph = {0:[0,1,2,3,4],1:[1,2,3,4,5],2:[3,4] ....等等。

我目前正在使用以下问题的代码。

Python - file to dictionary?

但它并没有完全按照我的意愿行事。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

使用collections.defaultdict

>>> from collections import defaultdict
>>> d = defaultdict(list)
with open('input.txt') as f:
    for line in f:
        k, v = map(int, line.split())
        d[k].append(v)


>>> d
defaultdict(<type 'list'>,
{0: [0, 1, 2, 3, 4],
 1: [1, 2, 3, 4, 5],
 2: [3, 4], 3: [3],
 4: [5],
 5: [0]})

使用普通字典,您可以使用[dict.setdefault][2]

with open('input.txt') as f:
    for line in f:
        k, v = map(int, line.split())
        d.setdefault(k, []).append(v)