用文本文件制作字典 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]})
除了默认值的好处外,它的行为与普通词典一样。
我有一个关于用文本文件制作字典的问题。
我有一个这样的文本文件:
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]})
除了默认值的好处外,它的行为与普通词典一样。