使用python实现多维数据降维操作
一,首先介绍下多维列表的降维
defflatten(a): foreachina: ifnotisinstance(each,list): yieldeach else: yieldfromflatten(each) if__name__=="__main__": a=[[1,2],[3,[4,5]],6] print(list(flatten(a)))
二、这种降维方法同样适用于多维迭代器的降维
fromcollectionsimportIterable defflattern(a): foriina: ifnotisinstance(i,Iterable)orisinstance(i,str): yieldi else: yieldfromflattern(i) if__name__=="__main__": a=[[1,2],(3,4,tuple(5,)),["6,7,8"],[9,range(10,20,1)]] print(list(flattern(a)))
iterable:可迭代的,迭代器,在Python中iterable被认为是一个对象,这个对象可以一次返回它的一个成员(也就是对象里面的元素),Python中的string,list,tuple,dict,file,xrange都是可迭代的,都属于iterable对象,可迭代的对象都是可以遍历的,实际上Python中有很多iterable类型是使用iter()函数来生成的。
补充:将一个多维数组彻底的降维
废话不多说,直接上代码
constflattenDeep=arr=> Array.isArray(arr) ?arr.reduce((a,b)=>[...a,...flattenDeep(b)],[]) :[arr];
以上这篇使用python实现多维数据降维操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。