TypeError:<lambda>()缺少1个必需的位置参数:“b”(molfile_to_params.py)

2024-09-23 16:20:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在调试一个名为molfile_to_params.py的文件,它是PyRosetta的模块,但我目前在一行代码中遇到了问题,我不知道如何调试。关于这一点已经有两种说法了,但对我的情况来说没有

tmp_children.sort(key=(lambda a,b: cmp(a.is_H, b.is_H)))

程序给出了我已经提到的错误,并将这一行显示为问题的根源。但这不是最初的路线

tmp_children.sort(lambda a,b: cmp(a.is_H, b.is_H))

这是原始行,它给出了错误:TypeError:sort()不接受位置参数 因此,我添加了我在另一个条目中看到的“key=”。 我只是一个ShulthSuffReo,所以我的Python知识低于标准,所以如果社区能帮助我,我会很感激。 谢谢大家!


Tags: 模块文件tolambdakeypyis错误
1条回答
网友
1楼 · 发布于 2024-09-23 16:20:47

假设tmp_children是一个列表,那么.sortkey参数一次只获取一项。
您试图使用的是cmp参数,该参数在python 2中可用,但在python 3中不可用。尝试按以下方式更改代码:

tmp_children.sort(key=lambda a: a.is_H)

您可以阅读有关python排序here的更多信息

相关问题 更多 >