当前位置: 首页 > news >正文

python高维数据存储_使用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实现多维数据降维操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-02-24

相关文章:

  • 代码,梦
  • python求两个时间相差的天数_Python计算两个日期相差天数的方法示例
  • python 序列化压缩成字符串_python 序列化模块之 json 和 pickle
  • 2005年10月--至今,开发过的项目
  • 红黑树的原理_Linux内核-红黑树的实现原理及应用
  • python整型数据源码分析_Python 源码剖析(二)【整数对象】
  • 如何选择适合自己的 Linux 发行版
  • ttc格式安装到手机_水电安装维修学习资料免费赠送
  • 服务器选购前的考虑
  • python bool函数应用_Python如何在bool函数中取值
  • 如何在网上选购一本好书
  • python中numbers什么意思_Python 基础知识全篇-数字(Numbers)
  • 控件Repeater的嵌套使用
  • python中迭代器机制_浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器...
  • 如何在 Windows Mobile 程序中获得包含 Millisecond 的 DateTime
  • [数据结构]链表的实现在PHP中
  • 【技术性】Search知识
  • 2019.2.20 c++ 知识梳理
  • CSS 提示工具(Tooltip)
  • go append函数以及写入
  • IDEA 插件开发入门教程
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • javascript 哈希表
  • js 实现textarea输入字数提示
  • SegmentFault 2015 Top Rank
  • session共享问题解决方案
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于Flux,Vuex,Redux的思考
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用docker-compose进行多节点部署
  • 思维导图—你不知道的JavaScript中卷
  • 网页视频流m3u8/ts视频下载
  • 学习JavaScript数据结构与算法 — 树
  • 怎样选择前端框架
  • Mac 上flink的安装与启动
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • # 数论-逆元
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (实战篇)如何缓存数据
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)shell调试方法
  • (转载)Google Chrome调试JS
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET框架
  • @DataRedisTest测试redis从未如此丝滑
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @SuppressWarnings(unchecked)代码的作用