我对python比较新,所以请原谅我这是一个非常基本的问题。这是我第一次提问。 我有一个测试文件,格式如下。
1 2 4
1 3 2
1 4 1
2 1 2
2 2 1
2 3 1
3 2 3
3 7 1
4 1 1
....
我正在尝试逐行读取文件,并且对于第1列(1,2,3 ...)中的每个值,我需要创建下面表单的列表
list_1 = [[2,4], [3,2], [4,1]]
list_2 = [[1,2], [2,1], [3,1]]
list_3 = [[2,3], [7,1]]
list_4 = [[1,1]]
...
list_n
其中列表中的值分别来自第2列和第3列。 真诚地感谢这方面的任何指导。谢谢
答案 0 :(得分:1)
使用defaultdict。这样,您就不必检查字典中是否已存在密钥。
from collections import defaultdict
def parse(filename):
result = defaultdict(list)
with open(filename) as infile:
for line in infile:
c1, c2, c3 = map(int, line.split())
result[c1].append([c2, c3])
return result
def main():
result = parse("test_data.txt")
print(result)
if __name__ == '__main__':
main()