场景: 使用vscode, 用python, 解决线性规划问题, 其中涉及到"用lambda表达式编写faltten()";
当我在lambda表达式中涉及递归时, vscode会提醒语法错误, 虽然不影响程序运行, 但是如何不让系统继续提醒此处的错误?
这是否是用lambda表达式写递归问题时一定会发生的语法"错误"?用lambda表达式写:
flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x]
用def写:
# flatten把 a = [[1,3],[2,4],[3,5],[“abc”,“def”]] 变成 a1 = [1, 3, 2, 4, 3, 5, ‘abc’, ‘def’]
def flatten(a):
a1 = [y for x in a for y in x]
return a1
3.
当用lambda表达式写flatten时, flatten(l)下会报错
报错信息是:
Using variable 'flatten' before assignment
我的理解是, 因为lambda表达式把内容写在了一行, 所以vscode在检查语法的时候, 会认为我们在没有定义flatten的前提下, 调用了flatten()函数
4.
不知道vscode是否可以屏蔽这种问题? 例如在哪里设置一下? 或者像MSoffice里一样, 可以"接受"错误, 他就不会继续显示了? 强迫症患者看着这个红色波浪线真的很难受...
万分感谢