python 讀入多行資料
阿新 • • 發佈:2019-02-05
一、前言
本文主要使用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 )
三、執行結果