一、前言
本文主要使用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 读入多行数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!