使用python实现多维数据降维操作
生活随笔
收集整理的這篇文章主要介紹了
使用python实现多维数据降维操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一,首先介紹下多維列表的降維
def flatten(a):for each in a:if not isinstance(each,list):yield eachelse:yield from flatten(each) if __name__ == "__main__":a = [[1,2],[3,[4,5]],6]print(list(flatten(a)))二、這種降維方法同樣適用于多維迭代器的降維
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' from collections import Iterabledef flattern(a): for i in a: if not isinstance(i,Iterable) or isinstance(i,str): yield i else: yield from flattern(i) if <strong>name</strong> == "<strong>main</strong>": 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实现多维数据降维操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python找出列表中出现次数最多的元素
- 下一篇: Python读取文件内容为字符串的方法(