使用python實現(xiàn)多維數(shù)據(jù)降維操作
一,首先介紹下多維列表的降維
def flatten(a): for each in a: if not isinstance(each,list): yield each else: yield from flatten(each) if __name__ == "__main__": a = [[1,2],[3,[4,5]],6] print(list(flatten(a)))
二、這種降維方法同樣適用于多維迭代器的降維
from collections import Iterable def flattern(a): for i in a: if not isinstance(i,Iterable) or isinstance(i,str): yield i else: yield from flattern(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()函數(shù)來生成的。
補充:將一個多維數(shù)組徹底的降維
廢話不多說,直接上代碼
const flattenDeep = arr => Array.isArray(arr) ? arr.reduce((a, b) => [...a, ...flattenDeep(b)], []) : [arr];
以上這篇使用python實現(xiàn)多維數(shù)據(jù)降維操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
centos+nginx+uwsgi部署django項目上線
本文主要介紹了centos+nginx+uwsgi部署django項目上線,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07pytorch動態(tài)網(wǎng)絡以及權重共享實例
今天小編就為大家分享一篇pytorch動態(tài)網(wǎng)絡以及權重共享實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Pytorch使用Visdom進行數(shù)據(jù)可視化的示例代碼
pytorch Visdom可視化,是一個靈活的工具,用于創(chuàng)建,組織和共享實時豐富數(shù)據(jù)的可視化,這個博客簡要介紹一下在使用Pytorch進行數(shù)據(jù)可視化的一些內(nèi)容,感興趣的朋友可以參考下2023-12-12