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自然语言编码转换模块codecs介绍
Apr 08 Python
python3简单实现微信爬虫
Apr 09 Python
Python中处理字符串之isalpha()方法的使用
May 18 Python
详解python3实现的web端json通信协议
Dec 29 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
pytorch中的transforms模块实例详解
Dec 31 Python
python中文分词库jieba使用方法详解
Feb 11 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
Python中re模块的元字符使用小结
Apr 07 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
用javascript实现自定义标签
2007/05/08 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
分享Python开发中要注意的十个小贴士
2016/08/30 Python
Python判断telnet通不通的实例
2019/01/26 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
英国在线药房:Express Chemist
2019/03/28 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
模具专业毕业推荐信
2014/03/08 职场文书
教师考察材料范文
2014/06/03 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
总经理致辞
2015/07/29 职场文书
学雷锋感言
2015/08/03 职场文书
高一数学教学反思
2016/02/18 职场文书
如何撰写创业策划书
2019/06/27 职场文书
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android