相关疑难解决方法(0)

Python的生成器和迭代器之间的区别

迭代器和生成器之间有什么区别?关于何时使用每种情况的一些示例会很有帮助.

python iterator generator

482
推荐指数
13
解决办法
13万
查看次数

生成器和数组有什么区别?

今天PHP团队发布了PHP 5.5.0版本,其中包括对生成器的支持.阅读文档,我注意到它完全可以用数组做.

PHP团队生成器示例:

// Only PHP 5.5
function gen_one_to_three() {
    for ($i = 1; $i <= 3; $i++) {
        // Note that $i is preserved between yields.
        yield $i;
    }
}

$generator = gen_one_to_three();
foreach ($generator as $value) {
    echo "$value\n";
}
Run Code Online (Sandbox Code Playgroud)

结果:

1
2
3
Run Code Online (Sandbox Code Playgroud)

但我可以使用数组做同样的事情.我仍然可以保持与早期版本的PHP兼容.

看看:

// Compatible with 4.4.9!
function gen_one_to_three() {
    $results = array();
    for ($i = 1; $i <= 3; $i++) {
        $results[] = …
Run Code Online (Sandbox Code Playgroud)

php arrays iterator generator

37
推荐指数
3
解决办法
8203
查看次数

xml.etree.ElementTree的findall()和iterfind()之间有什么区别

我用下面的方式编写程序

from xml.etree.ElementTree import ET

xmlroot = ET.fromstring([my xml content])

for element in xmlroot.iterfind(".//mytag"):
    do some thing
Run Code Online (Sandbox Code Playgroud)

它在我的python(v2.7.1)上工作正常,但在我将其复制到另一台安装了python v2.6.x的计算机后,iterfind()不支持,在python文档中,下面的描述列出

的findall(匹配)

按标签名称或路径查找所有匹配的子元素.返回包含文档顺序中所有匹配元素的列表.

iterfind(匹配)

按标签名称或路径查找所有匹配的子元素.返回一个iterable,以文档顺序生成所有匹配元素.

版本2.7中的新功能.

我的问题是:这两个功能是否相同?这两个功能有什么区别

python xml elementtree

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

generator ×2

iterator ×2

python ×2

arrays ×1

elementtree ×1

php ×1

xml ×1