作为我正在编写的脚本的一部分,我想围绕一个中心点按逆时针顺序排列一系列点,我们称之为“a”。你知道吗
我有一个函数,用于确定两点“b”和“c”,c是在光线a->;b的右侧还是左侧。此函数位于(a,b,c)的右侧,它经过测试并正常工作。你知道吗
我想用这个函数对二维坐标的元组列表进行排序,例如[(0,0),(0,1),(1,1),…]。但是,每次排序时,都会有一个不同的点'a'传递给函数right\u of()。我想要的是一个'function'returnSortFunction(a),它将返回一个带有两个参数的函数f(b,c),当我排序时对每对坐标调用f(b,c)时,它应该返回(a,b,c)的右_的结果,并且已经填充了'a'。你知道吗
我试着用一个工厂来实现这一点,但我认为我对工厂的理解不够好,无法正确地做到这一点,也无法确定这是否不是一个工厂的目的。如何构建此功能?你知道吗
你可以让一个函数返回一个函数,没问题。一个简单的方法是
你需要一个包装器函数围绕你的右函数。你可以用lambda,但我觉得你的逻辑要复杂得多。假设您想将一个函数作为比较器传递给排序方法,它将如下所示:
函数是python中的第一类对象,因此可以执行以下操作:
对于特定的上下文,还应该检查functools模块,特别是分部函数。使用它,您可以“部分”准备函数的参数,如下所示:
这样就行了,因为第5个参数的右\u将自动用数字5填充第一个参数-a-的右\u。你知道吗
相关问题 更多 >
编程相关推荐