如果这是其他地方回答的问题,我很抱歉。通过谷歌和 Stackforum 搜索,我没有找到任何可以推断答案的东西;但我觉得那是我的一部分。
我正在尝试将 lambdas 作为一个概念来解决,作为其中的一部分,我正在寻找使用它的方法。
所以,如果从函数的角度来看,这对 lambda 来说是一件非常愚蠢的事情,请随时告诉我并解释。但无论哪种方式,我仍然想知道答案/仍然想知道如何使用 python 语言来做到这一点。
因此,出于测试目的,我有:
my_test = 'test_name'
testlist = ['test_name', 'test_name_dup', 'test_name_dup_1', 'test_name_dup_3']
我希望使用 lambda 创建一个循环并返回不在测试列表中的第一个 test_name_# 的函数。该功能最终将应用于文件名,但出于测试目的,我不得不远离实际读取文件名——这给了我太多搞砸的方法。
但是 my_test 必须能够更改,并且测试列表将是文件路径列表。
所以,我正在寻找一个类似的功能:
new_name = lambda x: my_test + '_' + str(x)
但是初始值应该是 x = 1,并且应该一直持续到 new_name 不在 testlist 中。似乎:
bool(new_name not in testlist)
可能有用。
但我想不出一种将初始 x 设置为 1 的方法,并让它与 (x+1) 循环,直到 bool 为真。
我知道这是可能的,因为我发现了一些 CRAZY lambda 示例,它们在文件中的行中循环。我只是无法完全理解它们(并且没有任何方法可以与它们一起玩,因为它们正在处理我的编程水平之外的事情。
在相关说明中,我可以在此循环的开头添加值吗?(即我可以让它检查test_name,然后是test_name_dup,然后是test_name_dup_#)?
在此先感谢您的帮助!Lambdas(虽然很酷)完全弄乱了我的脑袋。