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 では [ 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 に答える