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中函数的多种格式和使用实例及小技巧
Apr 13 Python
简单介绍Python中的try和finally和with方法
May 05 Python
Python提取网页中超链接的方法
Sep 18 Python
Python的CGIHTTPServer交互实现详解
Feb 08 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
如何使用Cython对python代码进行加密
Jul 08 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
python操作链表的示例代码
Sep 27 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 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执行速度全攻略(下)
2006/10/09 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
php抽象类用法实例分析
2015/07/07 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
用python解压分析jar包实例
2020/01/16 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
降低python版本的操作方法
2020/09/11 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
《长城》教学反思
2014/02/14 职场文书
机电一体化专业求职信
2014/07/22 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
工程部文员岗位职责
2015/02/04 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
用电申请报告范文
2015/05/18 职场文书
清洁工工作总结
2015/08/11 职场文书
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android