如何使用lambda示例阅读这段python?

2024-03-29 09:00:34 发布

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

您知道如何阅读这个python示例的这一部分吗?你知道吗

dual = Graph([f_edges,lambda f1,f2: set(f1).intersection([(e[1],e[0]) for e in f2])])

我想看看Sage项目的参数到底是什么。你知道吗

代码取自此处: -https://trac.sagemath.org/ticket/6236

图形函数的Sage文档如下:

http://doc.sagemath.org/html/en/reference/graphs/sage/graphs/graph.html#graph-format


Tags: lambdaorg示例htmlgraphf2f1sage
1条回答
网友
1楼 · 发布于 2024-03-29 09:00:34

lambda是一种编写匿名函数的方法,只使用一次的函数可能比用def创建常规命名函数更简洁。这个函数可以实现为如下常规函数:

def intersect(f1, f2):
    elems = [(e[1], e[0]) for e in f2]
    return set(f1).intersection(elems)

外部代码如下所示:

dual = Graph([f_edges, intersect])

也就是说,看起来Graph需要一个参数列表,其中第一个元素是f_edges,第二个参数是一个带两个参数的函数。可能您对此感到困惑的是,仅从这一行,既不能直接调用intersect函数,也不能直接调用lambda。不过,可以推测,Graph将在内部调用它所提供的函数。你知道吗

相关问题 更多 >