python 读入多行数据的实例

yipeiwu_com6年前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中return和print的一些理解

前言 最近刚开始学习python,之前只有一些c的基础,也忘得差不多了,现在想边学习边总结和分享收获~看书时看了return的用法,可是后来和print混了,老是感觉可以将函数retur...

Python命令行参数解析工具 docopt 安装和应用过程详解

什么是 docopt? 1、docopt 是一种 Python 编写的命令行执行脚本的交互语言。 它是一种语言! 它是一种语言! 它是一种语言! 2、使用这种语言可以在自己的脚本中,添...

Python实现查找二叉搜索树第k大的节点功能示例

Python实现查找二叉搜索树第k大的节点功能示例

本文实例讲述了Python实现查找二叉搜索树第k大的节点功能。分享给大家供大家参考,具体如下: 题目描述 给定一个二叉搜索树,找出其中第k大的节点 就是一个中序遍历的过程,不需要额外的...

Pipenv一键搭建python虚拟环境的方法

Pipenv一键搭建python虚拟环境的方法

由于python2和python3在部分语法上不兼容, 导致有人打趣道:"Python2和Python3是两门语言" 对于初学者而言, 如果同时安装了python2和python3, 那...

python 产生token及token验证的方法

1、前言 最近在做微信公众号开发在进行网页授权时,微信需要用户自己在授权url中带上一个类似token的state的参数,以防止跨站攻击。 在经过再三思考之后,自己试着实现一个产生tok...