使用python實(shí)現(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被認(rèn)為是一個(gè)對(duì)象,這個(gè)對(duì)象可以一次返回它的一個(gè)成員(也就是對(duì)象里面的元素),Python中的string,list,tuple,dict,file,xrange都是可迭代的,都屬于iterable對(duì)象,可迭代的對(duì)象都是可以遍歷的,實(shí)際上Python中有很多iterable類型是使用iter()函數(shù)來(lái)生成的。
補(bǔ)充:將一個(gè)多維數(shù)組徹底的降維
廢話不多說(shuō),直接上代碼
const flattenDeep = arr => Array.isArray(arr) ? arr.reduce((a, b) => [...a, ...flattenDeep(b)], []) : [arr];
以上這篇使用python實(shí)現(xiàn)多維數(shù)據(jù)降維操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python編程中的文件讀寫(xiě)及相關(guān)的文件對(duì)象方法講解
這篇文章主要介紹了Python編程中的文件讀寫(xiě)及相關(guān)的文件對(duì)象方法講解,其中文件對(duì)象方法部分講到了對(duì)文件內(nèi)容的輸入輸出操作,需要的朋友可以參考下2016-01-01
python 求10個(gè)數(shù)的平均數(shù)實(shí)例
今天小編就為大家分享一篇python 求10個(gè)數(shù)的平均數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
python編寫(xiě)函數(shù)注意事項(xiàng)總結(jié)
在本篇文章里小編給大家分享了一篇關(guān)于python編寫(xiě)函數(shù)注意事項(xiàng)總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2021-03-03
Python序列對(duì)象與String類型內(nèi)置方法詳解
這篇文章主要介紹了Python序列對(duì)象與String類型內(nèi)置方法,結(jié)合實(shí)例形式分析了Python序列對(duì)象與String類型各種常見(jiàn)內(nèi)置方法相關(guān)使用技巧及操作注意事項(xiàng),需要的朋友可以參考下2019-10-10
Python+wxPython實(shí)現(xiàn)將圖片轉(zhuǎn)換為草圖
將照片轉(zhuǎn)換為藝術(shù)風(fēng)格的草圖是一種有趣的方式,可以為您的圖像添加獨(dú)特的效果,本文主要介紹了如何Python和wxPython來(lái)實(shí)現(xiàn)這一目標(biāo),需要的可以參考下2023-08-08

