使用 lambda 函数排序的 python 中的 [k] 是什么?

What [k] is in python sorting with lambda function?

我不明白 lambda k 函数,特别是这行代码中最后的 [k] 是什么?

sorting_permutation = sorted(range(len(prediction_test[0:m_test])), key=lambda k: prediction_test[0:m_test][k])

我很抱歉我的英语。

我们应该分析整个函数。您想要对 range(len(prediction_test[0:m_test])) 进行排序。假设 m_test 不大于 len(prediction_test) ,这应该给出一个包含从 0m_test-1 的数字的列表。

排序函数的关键参数定义了对列表进行相应排序的函数。 k 值是您要排序的列表元素。在您的代码中,k 将在假设下取值 0,1,2...,m_test-1。对于 prediction_test[0:m_test][k] ,您首先从索引 0 到索引 m_test 获取 prediction_test 的一部分,然后获取第 k 个索引处的元素。

简而言之, key=lambda k: prediction_test[0:m_test][k] 表示您将根据 prediction_test[0:m_test][k] 的结果对列表进行排序,其中 k 将采用列表中元素的值。您的代码可能用于根据存储的值对列表的索引进行排序。