相关疑难解决方法(0)

如何len(generator())

Python生成器非常有用.它们优于返回列表的函数.但是,你可以len(list_returning_function()).有办法len(generator_function())吗?

更新:
当然len(list(generator_function()))会工作.....
我正在尝试使用我在我正在创建的新生成器中创建的生成器.作为新发电机计算的一部分,它需要知道旧发电机的长度.但是我想将它们与发生器保持相同的属性,特别是 - 不要将整个列表保存在内存中,因为它可能长.

更新2:
假设发生器即使从第一步开始就知道它的目标长度.此外,没有理由维护len()语法.示例 - 如果Python中的函数是对象,我不能将长度分配给新生成器可以访问的此对象的变量吗?

python generator

128
推荐指数
8
解决办法
9万
查看次数

如何检查列表是否只有一个真值?

在python中,我有一个列表应该只有一个 truthy值(即,bool(value) is True).有没有一种聪明的方法来检查这个?现在,我只是遍历列表并手动检查:

def only1(l)
    true_found = False
    for v in l:
        if v and not true_found:
            true_found=True
        elif v and true_found:
             return False #"Too Many Trues"
    return true_found
Run Code Online (Sandbox Code Playgroud)

这似乎不优雅,不是非常pythonic.有更聪明的方法吗?

python

76
推荐指数
8
解决办法
2万
查看次数

标签 统计

python ×2

generator ×1