用文本文件制作字典 python

Making dictionary with text file python

我有一个关于用文本文件制作字典的问题。

我有一个这样的文本文件:

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

我想做什么,

我想{0: [1,2,3], 1:[2,3,4], 2:[3,4,5]}这样

lists = {}
test = open('Test.txt', mode='r', encoding = 'utf-8').read().split('\n')

for i in test:
    if len(lists) == 0:
       lists[i.split(',')[0]] = [i.split(',')[1]]

在这里,每当我调用函数时,值数都会改变..

我正在想办法,

但我觉得有点棘手

谁能给我一些建议或指导?

非常感谢

谢谢!

result = {}

with open('test.txt') as f:
    for line in f:
        key, value = line.strip().split(',')
        if key not in result:
            result[key] = [value]
        else:
            result[key].append(value)

print(result)

输出:

{'0': ['1', '2', '3'], '1': ['2', '3', '4'], '2': ['3', '4', '5']}

你也可以试试defaultdict合集,更方便

这是一个 defaultdict 的方法。 map 引用 int 函数用于将字符串转换为整数。

from collections import defaultdict

result = defaultdict(list)
with open('Test.txt', mode='r', encoding='utf-8') as infile:
    for line in infile:
        key, value = map(int, line.split(','))
        result[key].append(value)

print(result)

结果是

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

除了默认值的好处外,它的行为与普通词典一样。