python 读入多行数据的实例

yipeiwu_com5年前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中使用SQLite的简单教程

SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。...

浅谈python中的正则表达式(re模块)

一、简介 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C...

python获取Linux发行版名称

我必须从Python脚本中获取Linux发行版名称。dist平台模块中有一个方法: import platform platform.dist() 但在我的Arch Linux下...

Python设计模式之备忘录模式原理与用法详解

Python设计模式之备忘录模式原理与用法详解

本文实例讲述了Python设计模式之备忘录模式原理与用法。分享给大家供大家参考,具体如下: 备忘录模式(Memento Pattern):不破坏封装性的前提下捕获一个对象的内部状态,并在...

深入学习Python中的上下文管理器与else块

前言 本文主要个大家介绍了关于Python上下文管理器与else块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 在开始之前,我们先来看看下面这段话: 最终...