0

所以我在下面的文件中有以下值。我要做的是将这些 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

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

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

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

Python - 文件到字典?

但它并没有完全符合我的期望。任何帮助都会很棒。

4

1 回答 1

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)
于 2013-11-12T07:30:44.260 回答