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 相关文章推荐
Python 面向对象 成员的访问约束
Dec 23 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
numpy中索引和切片详解
Dec 15 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
详解python中list的使用
Mar 15 Python
python flask解析json数据不完整的解决方法
May 26 Python
详解python和matlab的优势与区别
Jun 28 Python
python-tornado的接口用swagger进行包装的实例
Aug 29 Python
使用Python获取当前工作目录和执行命令的位置
Mar 09 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python爬虫使用正则爬取网站的实现
Aug 03 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
php include和require的区别深入解析
2013/06/17 PHP
Yii框架安装简明教程
2020/05/15 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
JS实现多选框的操作
2020/06/24 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
django站点管理详解
2017/12/12 Python
视光学专业毕业生推荐信
2013/10/28 职场文书
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
百日安全活动总结
2014/05/04 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
医德医风个人总结
2015/02/28 职场文书
开会通知短信大全
2015/04/20 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android