python 读入多行数据的实例

yipeiwu_com7年前Python基础

一、前言

本文主要使用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 读入多行数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python求算数平方根和约数的方法汇总

一、求算术平方根 a= x=int(raw_input('Enter a number:')) if x >= : while a*a < x: a = a + i...

Python UnboundLocalError和NameError错误根源案例解析

如果代码风格相对而言不是那么的pythonic,或许很少碰到这类错误。当然并不是不鼓励使用一些python语言的技巧。如果遇到这这种类型的错误,说明我们对python中变量引用相关部分有...

Python timeit模块的使用实践

Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。 timeit 模块是 Python 标准库中的模块,无需安装,...

python数据持久存储 pickle模块的基本使用方法解析

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,...

Python搭建代理IP池实现获取IP的方法

Python搭建代理IP池实现获取IP的方法

使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了...