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 相关文章推荐
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 Python
Python中return self的用法详解
Jul 27 Python
python实现名片管理系统项目
Apr 26 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
Python try except异常捕获机制原理解析
Apr 18 Python
Python实现汇率转换操作
May 03 Python
Python 中的函数装饰器和闭包详解
Feb 06 Python
python如何读取.mtx文件
Apr 22 Python
python基础详解之if循环语句
Apr 24 Python
Python何绘制带有背景色块的折线图
Apr 23 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中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
两种php实现图片上传的方法
2016/01/22 PHP
javascript与webservice的通信实现代码
2010/12/25 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
集团公司总经理岗位职责
2013/12/20 职场文书
银行金融服务方案
2014/06/11 职场文书
学校标语大全
2014/06/19 职场文书
真诚的求职信
2014/07/04 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
事业单位个人总结
2015/02/12 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python