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基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
Python面向对象之类和对象实例详解
Dec 10 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python3中property使用方法详解
Apr 23 Python
python占位符输入方式实例
May 27 Python
Python 日志logging模块用法简单示例
Oct 18 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
Python基于内置函数type创建新类型
Oct 22 Python
浅析python连接数据库的重要事项
Feb 22 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数据缓存技术
2007/02/14 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
Linux操作面试题
2012/05/16 面试题
积极分子思想汇报
2014/01/04 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
反邪教警示教育方案
2014/05/13 职场文书
先进个人事迹材料
2014/12/29 职场文书
清洁工个人工作总结
2015/03/05 职场文书
68句权威创业名言
2019/08/26 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
python脚本框架webpy的url映射详解
2021/11/20 Python