在Python中为变量分配条件

巨大的

有没有一种方法可以在Python中为变量分配条件?

具体来说,我正在编写一个默认情况下是无限的,受选择限制的生成器。这段代码有效,但是重复很丑陋:

def generate(start=0, stop=None):
    i = start

    if stop == None:
        while True:
            yield i
            i += 1
    else:
        while i <= stop:
            yield i
            i += 1

具体来说,我想表达以下内容:

def generate(start=0, stop=None):
    i = start

    if stop == None:
        condition = True
    else:
        condition = 'i <= stop' # Of course, this will throw an error

    while condition:
        yield i
        i += 1

做到这一点的最佳方法是什么?

谢谢

沃尔登堡与众不同

看来您正在重新实现itertools.count和itertools需要一段时间。

永远计数:

itertools.count()

数到停止:

itertools.takewhile(lambda a: a <= stop, itertools.count())

但这也许是一个愚蠢的例子,也许使条件成为函数就是您要寻找的答案:

def generate(start=0, stop=None):
    i = start

    if stop == None:
        condition = lambda _: True
    else:
        condition = lambda x: x <= stop

    while condition(i):
        yield i
        i += 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中的变量分配中使用条件

来自分类Dev

在Python中为循环分配变量

来自分类Dev

根据条件为变量分配值

来自分类Dev

使用条件为变量分配名称

来自分类Dev

是否在Python中为多个变量分配使用括号?

来自分类Dev

如何在python函数中为模块名称分配变量

来自分类Dev

在Python中为变量分配科学计数法

来自分类Dev

PyMySQL在Python中为表名分配变量

来自分类Dev

在Swift中的条件语句中为新变量分配可选内容的原因

来自分类Dev

使用||为变量分配值 Ruby中具有if条件的运算符

来自分类Dev

在Swift中的条件语句中为新变量分配可选内容的原因

来自分类Dev

在python中为同一变量使用多个条件

来自分类Dev

Python中的条件随机分配

来自分类Dev

如何基于python中的现有变量为变量分配值?

来自分类Dev

如何基于python中的现有变量为变量分配值?

来自分类Dev

``导入为''与变量分配之间的Python区别

来自分类Dev

在Freemarker模板中为对象分配变量

来自分类Dev

在tikz中为变量分配范围值

来自分类Dev

在PHP中为变量分配数值

来自分类Dev

JavaScript中的分配变量始终为null

来自分类Dev

在函数中为其分配变量

来自分类Dev

为 NuSMV 中的变量分配随机值

来自分类Dev

为SPSS中的变量范围分配相同的变量标签

来自分类Dev

在Python中,根据字典是否包含键,为变量分配值的最小方法是什么?

来自分类Dev

如何在Python中为变量分配二进制零字符?

来自分类Dev

为列表中的每个项目分配一个变量[Python]

来自分类Dev

在Python类中为变量分配self是什么意思?

来自分类Dev

在python中,当我们为变量分配新值时,旧变量会发生什么?

来自分类Dev

Python中的动态变量分配

Related 相关文章

热门标签

归档