一、前言

本文主要使用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 ) 另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。