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实现的一个p2p文件传输实例
Jun 04 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
May 25 Python
Python3处理HTTP请求的实例
May 10 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
numpy中的ndarray方法和属性详解
May 27 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
python中Django文件上传方法详解
Aug 05 Python
基于python调用jenkins-cli实现快速发布
Aug 14 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
Python机器学习之逻辑回归
May 11 Python
Python实现byte转integer
Jun 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
PHP调用Webservice实例代码
2011/07/29 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
angularjs基础教程
2014/12/25 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
Python中字符串对齐方法介绍
2015/05/21 Python
python实现批量监控网站
2016/09/09 Python
python简单实现AES加密和解密
2019/03/28 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
学python最电脑配置有要求么
2020/07/05 Python
python 6行代码制作月历生成器
2020/09/18 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
小学生作文评语
2014/04/18 职场文书
市场营销策划方案
2014/06/11 职场文书
十佳青年事迹材料
2014/08/21 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
长城导游词
2015/01/30 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
python使用glob检索文件的操作
2021/05/20 Python
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android