一、前言
本文主要使用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 讀入多行數據的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持萬仟網。
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!