您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用python怎么對多維數據進行降維,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一,首先介紹下多維列表的降維
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()函數來生成的。
補充:將一個多維數組徹底的降維
廢話不多說,直接上代碼
const flattenDeep = arr => Array.isArray(arr) ? arr.reduce((a, b) => [...a, ...flattenDeep(b)], []) : [arr];
上述就是小編為大家分享的使用python怎么對多維數據進行降維了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。