从发电机生成

2024-04-04

我有一个生成器,它接受一个数字作为参数并生成其他数字。 我想使用这个生成器生成的数字并将它们作为参数传递给同一个生成器,创建一个一定长度的链。

例如,mygenerator(2) 生成 5、4 和 6。将 mygenerator 应用于这些数字中的每一个,一遍又一遍地应用于生成的数字。生成器总是产生比作为参数传递的数字更大的数字,并且对于 2 个不同的数字永远不会产生相同的数字。

我的发电机(2): 4 5 我的发电机(4):10 11 12 我的发电机(5):9 300 500

因此,集合 (9,10,11,12,300,500) 与原始数字 2 的“距离”为 2。如果我将其应用于数字 9,我将得到一组与原始数字 2 距离为“3”的数字。

本质上我想要的是创建一个与给定数字具有指定距离的集合,但我在弄清楚如何在 Python 中做到这一点时遇到了问题。非常感谢帮助:)


假设我们的生成器产生给定数字的平方和立方,这样它将输出唯一的 因此,如果我们想在最简单的情况下获取 dist D 处的数字,我们可以递归地获取 dist D-1 处的数字,然后将生成器应用于它们

def mygen(N):
    yield N**2
    yield N**3

def getSet(N, dist):
    if dist == 0:
        return [N]

    numbers = []
    for n in getSet(N, dist-1):
        numbers += list(mygen(n))

    return numbers

print getSet(2,0)
print getSet(2,1)
print getSet(2,2)
print getSet(2,3)

输出是

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

从发电机生成 的相关文章

随机推荐

  • XSLT 2.0 将 CSV 转换为 XML 格式

    我正在尝试将 CSV 逗号分隔文件 转换为 XML 为此 我正在编写一个 XSLT 模板 这是我第一次尝试 XSLT CSV 示例 ClaimRef HandlerRef ClaimType Date Area SettleDate Cla
  • PHP:获取图像大小

    我正在写一个函数 它需要一个参数 该参数是服务器上图像的物理路径 我想知道是否有可能以任何方式获得其原始大小 以像素为单位 在一个变量中 我想存储它的宽度 在另一个变量中存储它的高度 让我问这个问题的挑战是因为我必须在服务器端获取它 因此任
  • 向 pandas 的日期时间列随机添加 10 到 40 分钟

    我有一个数据框 如下所示 start 2010 01 06 09 00 00 2018 01 07 08 00 00 2012 01 08 11 00 00 2016 01 07 08 00 00 2010 02 06 14 00 00 2
  • 使用nodejs创建OAuth2服务器

    我实际上正在研究 REST API 安全性 似乎很多人都在使用 OAuth2 和 OpenId 协议来管理身份验证 我尝试使用以下方法实现两个 OAuth2 服务器 http passportjs org http passportjs o
  • 使用 adb 刷新 Android mediastore

    我正在使用 adb 在 Android 手机上同步音乐 本质上 我管理现有的音乐目录并推送替换音乐文件 我希望能够使用 adb 强制重新扫描 以便谷歌音乐播放器 和其他应用程序 能够与新歌曲和播放列表正常工作 根据如何刷新 Android
  • 如何以编程方式创建联系人[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Android 中添加新联系人 https stackoverflow com questions 4744187 how to add new contacts in android pub
  • 如何使用 python smtplib 向多个收件人发送电子邮件?

    经过大量搜索后 我无法找到如何使用 smtplib sendmail 发送给多个收件人 问题是每次发送邮件时 邮件标头都会显示包含多个地址 但实际上只有第一个收件人会收到电子邮件 问题似乎在于email Message http docs
  • 如何在 React 中使用 Firebase App Check。 403错误

    我想在 Gatsby 项目中使用 Firebase App Check 我已在 Firebase 控制台中完成了应用程序注册 在我的项目中 import initializeApp from firebase app import init
  • 评估给定文本块的关键字密度

    我想使用 php 将关键字短语传递给函数 并让该函数解析文本块并返回输入短语的关键字密度占文本块总字数的百分比 text lorem ipsum etc keyword lorem ipsum word count explode text
  • C++ 模板:防止基础模板的实例化

    我有一个界面 std string get string Source const s std string const d int get int Source const s int const d bool get bool Sour
  • phpMailer 未到达 Hotmail?

    设置 SPF 记录后 我仍然在这里验证为什么我无法将这封电子邮件接收到 hotmail 帐户 我可以毫无问题地将其发送到 Gmail 请确认代码是否正确 SPF记录是否正确
  • 如何在 JavaScript 代码中访问 PHP 变量?

    我在 PHP 代码中有一个变量 我想在 JavaScript 函数中访问它 下面是我的代码 myfile php
  • 在 julia 中打开 csv 文件时转义序列无效

    当打开 CSV 文件时julia它给 无效的转义序列 error 无效的转义序列 https i stack imgur com U9hn0 png julia gt using CSV julia gt wikiEVDraw CSV re
  • 在什么情况下“this”指针被传递给类方法? [复制]

    这个问题在这里已经有答案了 我正在阅读 this 指针 我想我比原来更了解它 但我仍然需要一些澄清 所以 根据我的理解 如果你有 class Simple private int m nID public Simple int nID Se
  • 将 awk 输出保存到变量 [重复]

    这个问题在这里已经有答案了 谁能帮我解决这个问题吗 我正在尝试将 awk 输出保存到变量中 variable ps ef grep port 10 grep v grep port 10 awk printf s 12 printf var
  • 合并两种错误类型的最惯用的方法是什么?

    我有一个类型Foo其方法可能会 引发 关联类型的错误Foo Err pub trait Foo type Err fn foo mut self gt Result lt Self Err gt 我还有一个特点Bar用一种旨在处理的方法Fo
  • Seaborn/Matplotlib 日期轴条形图小主要刻度格式

    我正在构建 Seaborn 条形图 x 轴是日期 y 轴是整数 我想格式化日期的主要 次要刻度 我希望周一的刻度线是粗体的并且是不同的颜色 即 主要刻度线 而本周的其余时间则不那么粗体 我无法在 x 轴上获得主要和次要刻度格式以使用 Sea
  • 在 jquery animate 中,如何使用自定义对象而不是 div?

    我的情况是这样开始的 我想对 div 的背景图像进行动画处理 但似乎使用 jquery 我无法检索背景图像的各个位置 背景位置 所以我想为什么不创建一个对象并为其值设置动画 然后将这些值放入 css 中 但我还不知道如何完全做到这一点 这是
  • 订阅 EnvDTE80.DTE2.Events2.PublishEvents.OnPublishBegin 的正确方法是什么?

    我正在将 VS 插件移植到 VS 包 当包初始化时 包会订阅 OnBuildBegin 和 OnPublishBegin Visual Studio 按预期触发 OnBuildBegin 但从未调用 OnPublishBegin 或多或少相
  • 从发电机生成

    我有一个生成器 它接受一个数字作为参数并生成其他数字 我想使用这个生成器生成的数字并将它们作为参数传递给同一个生成器 创建一个一定长度的链 例如 mygenerator 2 生成 5 4 和 6 将 mygenerator 应用于这些数字中