from functools import reducepublic_IDs = [1,2,3,4,5]filepath = '/path/to/file/'rdd = sc.textfile( filepath)new_rdd = reduce( lambda a,b: a.filter( lambda x: b not in x ),public_IDs,rdd)
此代码假定根据ID列表过滤rdd中的行. rdd是使用spark context sc的textfile方法从位于filepath中的文件创建的.
此代码工作正常,但是pylint会引发错误:
E: Undefined variable ‘b’ (undefined-variable)
我相信我编码它的方式不是正确的方法.如何更改它,以便pylint不会再次引发错误?或者它只是一个结构,pylint无法正确识别?
解决方法 很可能这是pylint中的一个错误.这是从2年前的similar bug report
foo = lambda x: lambda: x + 1 print(foo(1)())
correctly prints 2 when run,but pylint incorrectly reports
E: 1,24: Undefined variable 'x' (undefined-variable)
This is a regression from pylint 1.4.x.
这是一个recent issue在11/14/2018报道同一个问题
The issue has been reported at #760 and fixed by #2274. However,the
fix is merged only into pylint 2.x which supports only python >= 3.4
leaving us with the BUG unresolved in the pylint 1.x serIEs for python
2.
编辑
看起来你的误报可能与上面的问题略有不同,但是,我仍然认为这是一个错误.
我会尝试在他们的回购中创建一个问题,看看会发生什么(如果您决定这样做,请在评论中发布链接,以便我们可以关注它.)
总结以上是内存溢出为你收集整理的python – lambda函数中的未定义变量全部内容,希望文章能够帮你解决python – lambda函数中的未定义变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)