generator 相关问题

生成器是子例程的泛化,主要用于简化迭代器的编写。生成器中的yield语句不指定要跳转到的协程,而是将值传递回父例程。

TypeScript 中可迭代对象的可变压缩

我正在尝试在可迭代对象上编写可变参数zip,同时保留类型。例如, 函数* 自然数(max=10) { for (令 i=0; i 我正在尝试在可迭代对象上编写可变参数 zip,同时保留类型。例如, function* naturals(max=10) { for (let i=0; i<max; i++) yield i } const x = [1, 2, 3] const y = ["a", "b", "c"] const zipped = zip(naturals(), x, y) console.log([...zipped]) // => [[0, 1, "a"], [1, 2, "b"], [2, 3, "c"]] function* zip<?>(...iterables:?[]) { const iterators = iterables.map(iter => iter[Symbol.iterator]()) ... } 是否有类型签名可以帮助保留我的类型? 您可以给 zip() 以下呼叫签名: declare function zip<T extends any[]>( ...iterables: { [I in keyof T]: Iterable<T[I]> } ): Iterable<T>; 类型参数 T 中的 generic 表示输出中每个元素中数组的类型(即函数返回 Iterable<T>)。这预计是一个元组类型。 输入类型是数组/元组类型T上映射类型的剩余参数,其中T的每个元素都包裹在Iterable中。这种映射类型是 同态(具有 in keyof T,请参阅 “同态映射类型”是什么意思? 了解更多信息),因此 TypeScript 可以从中推断出 T。 让我们在您的示例中尝试一下: const zipped = zip(naturals(), x, y) // const zipped: Iterable<[number, number, string]> 此处 iterables 是可分配给 [Iterable<number>, Iterable<number>, Iterable<string>] 的元组类型,因此编译器将 T 推断为 [number, number, string]。所以输出类型是预期的Iterable<[number, number, string]>。 Playground 代码链接

回答 1 投票 0

随机数生成器对我不起作用(C语言)

例如:如果我在 0-10 之间选择,程序会生成一个大于 10 的数字,即 15 或 11 或 .... 请问如何解决? int randomNumbers(int max, int min){ 整数; srand(时间(NUL...

回答 1 投票 0

在Python中,如何将项目逐一推送到另一个函数使用的迭代器?

假设我有一个现有的函数,它消耗一个可迭代对象,例如: def printall(可迭代): 对于可迭代中的项目: 打印(项目) 重点是,该功能已经存在,但我不想...

回答 1 投票 0

如何将发电机拆分成更小的发电机,同时丢弃多余的发电机

将大小为 a*n + b 的生成器拆分为 1 个由具有 n 个项目的生成器组成的生成器。这里有一个类似的问题,我需要类似的东西 不要事先走动发电机:com...

回答 1 投票 0

FastAPI 在将数据库函数添加到 Depends 时引发“TypeError: <generator object get_db at 0x000002B68FBDB100> 不是可调用对象”

我得到: 文件“C:\PythonProjects\myProject 外部\home.py”,第 39 行,在 @router.get("/home",response_class=HTMLResponse) ... raise TypeError('{!r} 不是可调用对象'.fo...

回答 3 投票 0

为什么这个Python代码为相同的代码提供两个不同的输出或者两者都是不同的代码?

这是使用生成器函数打印斐波那契数列的Python代码。 代码1: def test_fib(n): a = 0 b = 1 对于范围 (n) 内的 i: 产量a a = b b = a+b #函数结束 for t in te...

回答 1 投票 0

数据问题“TypeError:<generator object get_db at 0x000002B68FBDB100>不是可调用对象”

我明白了 文件“C:\PythonProjects\myProject 外部\home.py”,第 39 行,在 @router.get("/home",response_class=HTMLResponse) ... raise TypeError('{!r} 不是可调用对象'.for...

回答 1 投票 0

C++ 协程让生成器永不停止

您可以在以下位置查看我的示例: https://cpp.sh/?source=%2F%2F+示例+程序%0A%23include+%3Ciostream%3E%0A%23include+%3Cstring%3E%0A%0Aint+main()%0A%7B%0A+ +std%3A%3Astring+名称%3B%0A++std%3A%3Ac...

回答 1 投票 0

如何在Python中为所有素数创建一个无限生成器?

我试图用Python制作这个无限生成器: 导入数学 def all_primes(): 计数 = 2 而真实: 标志=真 对于范围内的 x(2, int(math.sqrt(count) + 1)): ...

回答 4 投票 0

如何将 <class 'generator'> 转换为 numpy 数组

我想以随机方式从图像中打乱像素。通过以下功能,一切都按照我想要的方式工作,但速度很慢。 def randomize_image(img): # 从 (m,n...

回答 1 投票 0

如何在Python中制作一个所有素数的无限生成器?

我试图用Python制作这个无限生成器: 导入数学 def all_primes(): 计数 = 2 而真实: 标志=真 对于范围内的 x(2, int(math.sqrt(count) + 1)): ...

回答 4 投票 0

使用 keras 生成器进行流式训练数据会产生奇怪的张量大小不匹配错误 - 张量流代码太不透明,无法调试问题

我正在张量流中训练神经网络,并且由于在训练加载整个训练集(输入图像和“地面实况”图像)时内存不足,我正在尝试

回答 1 投票 0

重新启动消耗可重新填充迭代器的生成器

我在使用使用可重新填充迭代器的生成器时遇到问题。 这是我的简单生成器: def hi(可迭代): 对于可迭代中的 val: 产量值 我传递给 hi 的可迭代对象

回答 4 投票 0

如何将这个HTML代码制作成React js组件来生成随机代码

从 'react' 导入 React, { useEffect }; const RandomCodeGenerator = () => { const [randomCode, setRandomCode] = useState(''); const [isDownloadVisible, setDownloadVisible] = useState(fal...

回答 0 投票 0

什么是“预抽生成器协程”?

我在 PyCon 2023 上看到 James Powell 的演讲,他提到了“预抽生成器协程”的概念(15:47)。 这是他提到的代码: @

回答 1 投票 0

keras.Model.fit 无法与生成器和稀疏分类交叉熵损失一起正常工作

tf.keras.Model.fit(x=generator) 无法正常工作 SparseCategoricalCrossentropy/sparce_categorical_crossentropy 损失函数,使用生成器作为训练数据。报告了相同的症状...

回答 1 投票 0

tensorflow - keras.Model.fit 无法与生成器和稀疏分类交叉熵损失一起正常工作

tf.keras.Model.fit(x=generator) 无法正常工作 SparseCategoricalCrossentropy/sparce_categorical_crossentropy 损失函数,使用生成器作为训练数据。报告了相同的症状...

回答 1 投票 0

为什么生成器函数在长时间迭代过程中会变慢

def clean_data(响应): #做某事 返回响应 def extract_data(响应): # 做一些变换 clean_response = clean_data(响应) 产生干净的响应 定义

回答 1 投票 0

二维数组 Python 中的列替换(不是 numpy)

我有一个愚蠢的问题: 例如,我有一个数组 x = [[1,1,1],[1,1,1],[1,1,1]] 如果是 x[1][:] = [9 如果 x[1][k] == 1 否则 0 对于范围 (3) 中的 k] 我会得到 [[1,1,1],[9,9,9],[1,1,1]]...

回答 1 投票 0

努力让随机名称生成器正常工作

尝试在下面生成一个由两部分组成并推在一起的随机名称,我需要帮助制作它,以便它打印到屏幕上,以便它选择三个选项之一...

回答 6 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.