我在Python v2.7中的代码不再适用于Python v3.2
我到处搜寻但我没有找到这种情况。似乎函数self.buildGraph(i, n)
实际上从未被调用
n = 33
map(lambda i : self.buildGraph(i, n), range(n))
但是功能:
map(lambda x : fu(a, x), range(10))
没有问题。
答案 0 :(得分:3)
在python 3中map返回lazy iterator object,如python 2中的imap,所以你需要评估你的迭代器,例如:
list(map(lambda i : self.buildGraph(i, n), range(n)))
答案 1 :(得分:0)
我没有看到你的map
示例中的一个如何给出你期望的内容,而另一个没有,但作为一般提示,当使用3.x中的现有2.x代码时 - 使用2to3 tool以确保地图/过滤器/范围等之间的行为更改...不会在后方咬你。