python 中字典{ }的嵌套

2023-11-11

在机器学习中会用字典的嵌套来存储决策树的信息,对绘制树形图有很大的作用,其中嵌套字典的生成是一个递归的过程
如下所示:

>>> s={'a':{0:'no',1:{'flippers':{0: 'no', 1: 'maybe'}}},'b':{}}  # 构造字典
>>> s['a'][0]  # 取值
'no'
>>> s['a'][1]
{'flippers': {0: 'no', 1: 'maybe'}}
>>> s['a'][1]['flippers'][1]  
'maybe'

----------
# 嵌套构造过程
>>> s={'no sur':{}}   
>>> s['no sur'][0]='no'
>>> s
{'no sur': {0: 'no'}}
>>> ss={'fli':{}}
>>> ss['fli'][0]='no'
>>> ss['fli'][1]='yes'
>>> s['no sur'][1]=ss # 其中ss是在递归中的最外层
>>> s
{'no sur': {0: 'no', 1: {'fli': {0: 'no', 1: 'yes'}}}}
>>> 

在上面构造嵌套字典的过程中,可以通过key来得到相应的value,而相应的value又可以是由字典构成的,再次利用key作为索引层级得到value。

其次是嵌套构造的过程,可以看出ss虽然是一个嵌套的字典,但其是作为s的对应‘fli’的值的,而{‘fli’: {0: ‘no’, 1: ‘yes’}}整体作为1的值。在机器学习实战中的创建树的过程中,用到了递归创建的方法,其中:

这里写图片描述
这里写图片描述

标注的两行看了好久才明白,图中递归的效果就类似于上面的代码运行效果,只不过图中的代码等同于是把上面的ss写成s。

要想很清楚地理解递归,可以学习下数据结构中的调用栈,也就是栈的调用原理,然后就很清晰了。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中字典{ }的嵌套 的相关文章

  • 如何在Python的SciPy中更改稀疏矩阵中的元素?

    我构建了一个小代码 我想用它来解决涉及大型稀疏矩阵的特征值问题 它工作正常 我现在要做的就是将稀疏矩阵中的一些元素设置为零 即最顶行中的元素 对应于实现边界条件 我可以调整下面的列向量 C0 C1 和 C2 来实现这一点 不过我想知道是否有
  • Google App Engine queue.yaml 无法在开发服务器中工作

    我无法让 dev appserver py 识别我使用queue yaml 创建的自定义队列 他们没有出现在http localhost 8000 taskqueue http localhost 8000 taskqueue 当我尝试向其
  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 补丁 - 为什么相对补丁目标名称不起作用?

    我已经从模块导入了一个类 但是当我尝试修补类名而不使用模块作为前缀时 出现类型错误 TypeError Need a valid target to patch You supplied MyClass 例如 以下代码给出了上述错误 imp
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Keras:如何保存模型或权重?

    如果这个问题看起来很简单 我很抱歉 但是阅读 Keras 保存和恢复帮助页面 https www tensorflow org beta tutorials keras save and restore models https www t
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que

随机推荐

  • Spring Boot 安全的最佳实践

    Spring Boot 安全的最佳实践 在 Web 应用程序中 安全性是至关重要的 恶意攻击者可能会利用您的应用程序中的弱点来获取敏感信息或者窃取用户数据 为了保护您的应用程序和用户数据 您需要遵循一些最佳实践 本文将介绍 Spring B
  • C#简单的制作一个窗体应用

    废话少说下面先看效果 登陆管理员 注册账号和管理账号 修改密码界面 功能界面 功能一 连接中国移动物联网平台检测温湿度 输入wendu可以查询 功能二 查看图片 功能三 读写通知管理员可以写但普通成员只可以读 功能四 计算工具 可以计算三角
  • 一百四十六、Xmanager——Xmanager5连接Xshell7并控制服务器桌面

    一 目的 由于kettle安装在Linux上 Xshell启动后需要Xmanager 而Xmanager7版本受限 没有免费版 所以就用Xmanager5去连接Xshell7 二 Xmanager5安装包来源 一 注册码 注册码 10121
  • Linux——TCP传输可靠性

    TCP传输可靠性的前提条件 重传机制 针对数据包丢失或者出现定时器超时 确认应答 停止等待协议 发送之后等待收到应答 序列号 针对数据包到达接收端主机顺序乱掉 流量控制 针对避免网络拥堵时候 针对高效传输数据包的流动窗口的控制 拥塞控制 针
  • qt中Graphic中 View的坐标和Scene的坐标不匹配的问题

    在QT中使用QGraphicView 和QGraphicsSce 时 会遇到一个这样一个问题 Scene中绘制图的坐标与View显示坐标不符 例如 直接在scene中添加直线 并且设置起点是0 0 但是我们会发现他的起点并不是0 0 如下图
  • 【数据结构入门】队列(Queue)详解(定义、销毁、入队、出队等)

    文章目录 1 前言 1 队列的概念 2 队列的结构 2 队列的实现 链式结构 1 队列的定义 2 队列的初始化 3 队列的销毁 4 入队 尾插 5 出队 头删 6 获取队列元素个数 7 获取队头元素 8 获取队尾元素 9 检查队列是否为空
  • Qt 获取程序所在路径等特殊路径的方法

    目录 经常我们的程序中需要访问一些特殊的路径 比如程序所在的路径 用户目录路径 临时文件夹等 在 Qt 中实现这几个功能所用的方法虽然都不难 但是各不相同 每次用到时还要现去查 很不方便 因此就写了这篇博客 把这几种需求的实现方式总结了一下
  • 2022春招前端最新面试题分享(牧原股份)

    牧原股份 公司及岗位信息 公司 牧原股份 岗位 前端开发工程师 地点 河南 薪资 12k 16k 面试结果 一面后暂时未接到通知 一面HR技术群面 2022 04 19 自我介绍 期望薪资 你认为你为什么值这个钱 JS常用的数据类型 分辨引
  • Spring Boot(一)

    什么是Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架 其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置 从而使开发人员不再需要定义样板化的配置 Sp
  • UG10.0安装方法及步骤

    1 右击软件压缩包 选择解压到 UG10 64bit 选项 2 打开破解文件夹下的NX10 0 JAVA X64位exe文件 3 然后点下一步 4 下一步 5 选择安装目录 默认安装在 C Program Files Java jdk18
  • 面试华为,花了2个月才上岸,真的难呀····

    花2个月时间面试一家公司 你们觉得值吗 背景介绍 美本计算机专业 代码能力一般 之前有过两段实习以及一个学校项目经历 第一份实习是大二暑期在深圳的一家互联网公司做前端开发 第二份实习由于大三暑假回国的时间比较短 小于两个月 于是找的实习是在
  • 最大化期望算法(EM)详解

    我们知道最大似然估计的根本目的是根据抽样的到的样本 即数据 反推出最有可能的分布参数 即模型 这是一个非常典型的机器学习的思想 所以在很多领域最大似然估计有着极为广泛的应用 然而 如果已知的数据中含有某些无法观测的隐藏变量时 直接使用最大似
  • 手写Vue个人组件库———fl-Cascader

    您好 如果喜欢我的文章 可以关注我的公众号 量子前端 将不定期关注推送前端好文 接上文 封装了个人Vue组件库的Cascader级联选择器 源码附在了文章末尾 如下是文档使用说明 Cascader 级联选择器 当一个数据集合有清晰的层级结构
  • 滑动窗口的最大值java

    题目描述 给定一个数组和滑动窗口的大小 找出所有滑动窗口里数值的最大值 例如 如果输入数组 2 3 4 2 6 2 5 1 及滑动窗口的大小3 那么一共存在6个滑动窗口 他们的最大值分别为 4 4 6 6 6 5 针对数组 2 3 4 2
  • 分布式任务调度平台XXL-JOB(超详细喂嘴版)

    1 XXL JOB框架 1 0 环境 Maven3 Jdk1 8 Mysql5 7 1 1 下载源码 https github com xuxueli xxl job 1 2 中文文档 https www xuxueli com xxl j
  • Linux多线程编程---线程间同步(互斥锁、条件变量、信号量和读写锁)

    本篇博文转自http zhangxiaoya github io 2015 05 15 multi thread of c program language on linux Linux下提供了多种方式来处理线程同步 最常用的是互斥锁 条件
  • Qt5.7 Qt for Embedded Linux

    从Qt5 0开始 Qt不再包含自己的视窗系统了 QWS 对于单屏幕的情况 使用QtPlatform Abstraction是一个很好的选择 多屏的情况可以通过Wayland实现 有许多跨平台的插件可以使用 EGLFS LinuxFB KMS
  • 解析不同种类的StableDiffusion模型Models,再也不用担心该用什么了

    Stable Diffusion是一个基于Latent Diffusion Models 潜在扩散模型 LDMs 的文图生成 text to image 模型 具体来说 Stable Diffusion在 LAION 5B 的一个子集上训练
  • 《解构领域驱动设计》- 领域驱动设计统一过程

    更多内容关注微信公众号 fullstack888 领域驱动设计的核心是模型驱动设计 而模型驱动设计的核心又是领域模型 领域模型必须在统一语言的指导下获得 领域模型又可进一步细分为核心子领域 通用子领域和支撑子域 系统上下文 限界上下文 分层
  • python 中字典{ }的嵌套

    在机器学习中会用字典的嵌套来存储决策树的信息 对绘制树形图有很大的作用 其中嵌套字典的生成是一个递归的过程 如下所示 gt gt gt s a 0 no 1 flippers 0 no 1 maybe b 构造字典 gt gt gt s a