擅长:python、mysql、java
<p>在Python2中,<code>map</code>内置返回了一个列表。在Python3中,它返回一个迭代器而不是列表,<code>json</code>模块无法序列化该列表。如果需要列表,而不是迭代器,则应使用列表理解:<code>[buildNodes(row) for row in graph.cypher.execute(...)]</code>。您也可以通过执行<code>list(map(...))</code>来强制键入它,但这并不像listcomp那样清楚。在</p>
<p>您应该知道,您不能在列表中调用<code>__next__</code>(或者,最好是<code>next(...)</code>),因为这是一个迭代器方法。但是,您可以打印一个完整的列表而不使用它,所以除非您显式地尝试延迟加载,否则无论如何,列表在这里是一个更好的选择。在</p>
<p>您可以阅读标准文档<a href="https://docs.python.org/3/library/stdtypes.html#iterator-types" rel="nofollow noreferrer">here</a>中列表/其他序列类型和迭代器之间的一些区别,<code>next</code>内置函数以及它为什么比{<cd5>}<a href="https://www.python.org/dev/peps/pep-3114/#id15" rel="nofollow noreferrer">here</a>更好。在</p>