How to to read a matrix from a given file?

前端 未结 7 627
傲寒
傲寒 2020-12-09 17:41

I have a text file which contains matrix of N * M dimensions.

For example the input.txt file contains the following:



        
7条回答
  •  有刺的猬
    2020-12-09 18:08

    Consider

    with open('input.txt', 'r') as f:
        l = [[int(num) for num in line.split(',')] for line in f]
    print(l)
    

    produces

    [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 2, 1, 0, 2, 0, 0, 0, 0], [0, 0, 2, 1, 1, 2, 2, 0, 0, 1], [0, 0, 1, 2, 2, 1, 1, 0, 0, 2], [1, 0, 1, 1, 1, 2, 1, 0, 2, 1]]
    

    Note that you have to split on commas.


    If you do have blank lines then change

    l = [[int(num) for num in line.split(',')] for line in f ]
    

    to

    l = [[int(num) for num in line.split(',')] for line in f if line.strip() != "" ]
    

提交回复
热议问题