• Python3 中把txt数据文件读入到矩阵中


    https://blog.csdn.net/u014453898/article/details/73378463

    1.实例程序:

    '''
    数据文件:2.txt内容:(以空格分开每个数据)
    1 2 2.5
    3 4 4
    7 8 7
    '''
     
    from numpy import *
    A = zeros((3,3),dtype=float)    #先创建一个 3x3的全零方阵A,并且数据的类型设置为float浮点型
     
    f = open('2.txt')               #打开数据文件文件
    lines = f.readlines()           #把全部数据文件读到一个列表lines中
    A_row = 0                       #表示矩阵的行,从0行开始
    for line in lines:              #把lines中的数据逐行读取出来
        list = line.strip('
    ').split(' ')      #处理逐行数据:strip表示把头尾的'
    '去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中
        A[A_row,:] = list[0:3]                    #把处理后的数据放到方阵A中。list[0:3]表示列表的0,1,2列数据放到矩阵A中的A_row行
        A_row+=1                                #然后方阵A的下一行接着读
        #print(line)
     
    print(A)    #打印 方阵A里的数据
     
    打印结果:
    [[ 1.   2.   2.5]
     [ 3.   4.   4. ]
     [ 7.   8.   7. ]]

    2.数据读入矩阵的逻辑:

    为简单解释,例如我们要把:

    1 2 3

    4 5 6

    7 8 9

    读入矩阵中,以上述的代码为例: 

    当 A_row =0时,执行 A[A_row:] = list[0:3] 后矩阵A是:

    1 2 3
    1 2 3
    1 2 3

    当A_row = 1是,执行 A[A_row:] = list[0:3] 后矩阵A是:

    1 2 3
    4 5 6
    4 5 6

    当A_row = 2时,执行 A[A_row:] = list[0:3] 后矩阵A是:

    1 2 3
    4 5 6
    7 8 9

    也就是上述代码:

    for line in lines:                      #先把逐行数据取出来
        list = line.strip('
    ').split(' ')      #再通过处理,放回到list列表中
        A[A_row:] = list[0:3]                    #然后把list列表的数据放到矩阵中
        A_row+=1                

    所做的事情。

  • 相关阅读:
    洛谷P5304 [GXOI/GZOI2019]旅行者
    洛谷P3758 [TJOI2017]可乐
    洛谷P5341 [TJOI2019]甲苯先生和大中锋的字符串
    洛谷P5338 [TJOI2019]甲苯先生的滚榜
    洛谷P5340 [TJOI2019]大中锋的游乐场
    AC自动机
    左偏树(可并堆)实现
    splay区间翻转
    平衡树模板【splay的实现】
    洛谷P4113 [HEOI2012]采花
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/15228068.html
Copyright © 2020-2023  润新知