亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

lambda 函數中的未定義變量

lambda 函數中的未定義變量

MMTTMM 2021-08-17 18:36:30
我有代碼: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 上下文 sc 的 textFile 方法從位于 filepath 中的文件創建的。此代碼工作正常,但 pylint 引發錯誤:E: 未定義變量 'b'(未定義變量)我相信我編碼它的方式不是正確的方式。如何更改它以便 pylint 不會再次引發錯誤?或者它只是一個pylint不能正確識別的結構?
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

很可能是pylint中的一個錯誤。

這是2 年前的類似錯誤報告

foo = lambda x: lambda: x + 1 print(foo(1)())

運行時正確打印 2,但 pylint 錯誤報告

E:  1,24: Undefined variable 'x' (undefined-variable)

這是 pylint 1.4.x 的回歸。

這是最近的一個問題,在 11/14/2018 報告了同樣的問題

該問題已在 #760 報告并由 #2274 修復。但是,該修復程序僅合并到僅支持 python >= 3.4 的 pylint 2.x 中,這讓我們留下了 python 2 的 pylint 1.x 系列中未解決的錯誤。

編輯

看起來您的誤報可能與上述問題略有不同,但我仍然認為這是一個錯誤。

我會嘗試在他們的 repo 上創建一個問題,看看會發生什么(如果你決定這樣做,請在評論中發布鏈接,以便我們可以關注它。)


查看完整回答
反對 回復 2021-08-17
  • 1 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號