我注意到在python中调用str(lambda: foo)有一些奇怪的行为。如果我将一个lambda赋给两个不同的变量,它将被分配到两个不同的内存位置,即使lambda显然是相同的。例如:>>> b = lambda: 1'<function <lambda> at 0x0000000000AC6730>
我使用下面的代码片段,它创建了Databricks目录中所有.csv文件的列表。csv_dir = '/my_dir/'但是,它会产生以下错误TypeError: Invalid argument, not a string or column: <function <lambda> at 0x7f1f357c6160>
下面的示例显示不同的行为,取决于列表理解中最右边的生成器是列表还是迭代器。具体来说,在使用迭代器时生成的结果很少--我发现这种行为非常令人惊讶。我是Python新手,所以我想我遗漏了一些显而易见的东西,但是我很感谢您给我一个解释。4]
>>> zs_i = itertools.ifilterfalse(lambdax: x in ys, xs)
&