一、前言
本文主要使用python 的raw_input() 函数读入多行不定长的数据,输入结束的标志就是不输入数字情况下直接回车,并填充特定的数作为二维矩阵
二、代码
def get2DlistData(): res = [] inputLine = raw_input() #以字符串的形式读入一行 #如果不为空字符串作后续读入 while inputLine != '': listLine = inputLine.split(' ') #以空格划分就是序列的形式了 listLine = [int(e) for e in listLine ] #将序列里的数由字符串变为int类型 res.append( listLine ) inputLine = raw_input() return res def get2DMatData( inList , val ): ''' 输入:inList为不等长的二维数组,val为需填充的值 输出:np.array的形式输出填补完的二维矩阵 ''' maxCols = 0 #获得最大长度的子序列 for i in range( len( inList ) ): lenI = len( inList[i] ) if lenI > maxCols: maxCols= lenI #对每个子序列作填充 for i in range( len( inList ) ): num = len( inList[i] ) while(num <= maxCols): inList[i].append( val ) num += 1 return np.array( inList , dtype = np.int64 ) if __name__=='__main__': inData = get2DimData() print inData print '\n' matArray = get2DMatData(inData , 0) print( matArray )
三、运行结果
以上这篇python 读入多行数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。