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设计】。

相关文章

Python3 单行多行万能正则匹配方法

可匹配单行,也支持换行匹配 [\s\S]*? 加上括号,效果更好 ([\s\S]*?) 以上这篇Python3 单行多行万能正则匹配方法就是小编分享给大家的全部内容了,希...

Python装饰器原理与用法分析

Python装饰器原理与用法分析

本文实例讲述了Python装饰器原理与用法。分享给大家供大家参考,具体如下: 1、装饰器的本质是函数,主要用来装饰其他函数,也就是为其他函数添加附加功能 2、装饰器的原则: (1) 装饰...

使用Python脚本来获取Cisco设备信息的示例

今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令。 下载后主要有3个文件: Systems.py 定义了一些不同设备的操作系统及其常见命令。...

python函数修饰符@的使用方法解析

python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志、性能测试、事务处理等等。 创建函数修饰符的规则: (1)修饰符是一个函数 (2)修饰符取被修饰函数为参数...

python列表生成式与列表生成器的使用

列表生成式:会将所有的结果全部计算出来,把结果存放到内存中,如果列表中数据比较多,就会占用过多的内存空间,可能会导致MemoryError内存错误或者导致程序在运行时出现卡顿的情况 列表...