一、前言
本文主要使用python 的raw_input() 函数读入多行不定长的数据,输入结束的标志就是不输入数字情况下直接回车,并填充特定的数作为二维矩阵
二、代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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 读入多行数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/AP1005834/article/details/78058080