python实现将读入的多维list转为一维list的方法


Posted in Python onJune 28, 2018

第一种:使用extend()

>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
...  ll.extend(line.strip().split(','))
... 
>>> ll
['1', '2', '3', '4', '5']

第二种:使用+

>>> ll = []
>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
...  ll = ll + line.strip().split(',')
... 
>>> ll
['1', '2', '3', '4', '5']

第三种:使用flat array数组的自带方法

>>> ll = []
>>> lines = open('test.txt').readlines()
>>> for line in lines:
...  ll.append(line.strip().split(','))
... 
>>> ll = np.array(ll)
>>> np.hstack(ll.flat)
array(['1', '2', '3', '4', '5'], 
  dtype='|S1')
>>> list(np.hstack(ll.flat))
['1', '2', '3', '4', '5']

总结:

1. extend()与append()的区别

append()可以接受任何数据类型和格式的数据作为一个元素插入原list

extend() 则仅能将任何数据类型和格式的数据展开作为一组元素插入原list

eg.

>>> a = [1,'a']
>>> a.extend(np.array([2,'b']))
>>> a
[1, 'a', '2', 'b']
>>> a.extend([3,['c']])
>>> a
[1, 'a', '2', 'b', 3, ['c']]
>>> a = [1,'a']
>>> a.extend(np.array([2,'b']))
>>> a
[1, 'a', '2', 'b']
>>> a.extend([3,['c']])
>>> a
[1, 'a', '2', 'b', 3, ['c']]
>>> a = [1,'a']
>>> a.append(np.array([2,'b']))
>>> a
[1, 'a', array(['2', 'b'], 
  dtype='|S21')]
>>> a.append([3,['c']])
>>> a
[1, 'a', array(['2', 'b'], 
  dtype='|S21'), [3, ['c']]]

2. flatten()无法对dtype = object的array进行展开,dtype = object说明array中的元素是list,即其不是满矩阵结构

eg.

>>> a = np.array([[1,2],[3,4]])
>>> a.dtype
dtype('int64')
>>> a.flatten()
array([1, 2, 3, 4])
>>> 
>>> a = np.array([[1,2],[3,4],[5]])
>>> a.flatten()
array([[1, 2], [3, 4], [5]], dtype=object)

3.readlines读取文件默认str,可以通过map转换数据类型

eg.

>>> ll = []
>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
...  ll.append(map(int,line.strip().split(',')))
... 
>>> ll
[[1], [2], [3], [4, 5]]

以上这篇python实现将读入的多维list转为一维list的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
400多行Python代码实现了一个FTP服务器
May 10 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
Django中多种重定向方法使用详解
Jul 17 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
Python 实现打印单词的菱形字符图案
Apr 12 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 Python
numpy matrix和array的乘和加实例
Jun 28 #Python
python 按不同维度求和,最值,均值的实例
Jun 28 #Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 #Python
python 列表降维的实例讲解
Jun 28 #Python
基于Python中求和函数sum的用法详解
Jun 28 #Python
Python之list对应元素求和的方法
Jun 28 #Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 #Python
You might like
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
extjs render 用法介绍
2013/09/11 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
Python 关于反射和类的特殊成员方法
2017/09/14 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
Python装饰器用法与知识点小结
2020/03/09 Python
学习Python列表的基础知识汇总
2020/03/10 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
六查六看六改心得体会
2014/10/14 职场文书
服务整改报告
2014/11/06 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python