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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
Python生成随机数的方法
Jan 14 Python
flask入门之表单的实现
Jul 18 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
Python适配器模式代码实现解析
Aug 02 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
python 如何区分return和yield
Sep 22 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 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
服务器web工具 php环境下
2010/12/29 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php初始化对象和析构函数的简单实例
2014/03/11 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
html5使用canvas画三角形
2014/12/15 HTML / CSS
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
幼儿园教师备课制度
2014/01/12 职场文书
感恩教育活动总结
2014/05/05 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
个人年终总结结尾
2015/03/06 职场文书
PyMongo 查询数据的实现
2021/06/28 Python