planta_accesibles = probpl.RelacionRigida(
lambda a1, p1, p2: (a1,(p1,p2))
in [('A0', ('0', '1', '2', '3', '4'))]
)
我想搜索p1和p2是否包含在我的列表'A0'中,但是python将元组“p1,p2”与元组'0,1'进行比较。如果我坚持“'2','3','4'”我没有采取正确的反应。
抱歉我的英文。
答案 0 :(得分:1)
我不知道probpl.RelaciónRígida()
是什么,所以我不知道那需要什么,但我想我可以认识到你正在尝试用lambda函数做什么(随意纠正我或提出问题)。
看起来您希望拥有一个名为'A0'
的列表,并测试其中是否包含p1
和p2
。在这种情况下,我相信字典会比嵌套元组更适合您的需求:
ref = {"A0": ("0", "1", "2", "3", "4")}
这允许您测试字典以确定它是否包含与密钥a1
关联的值(您的元组):
a1 in ref
确定字典包含a1
的条目后,您可以测试该条目是否包含p1
和p2
:
(p1 in ref[a1]) and (p2 in ref[a1]) #parenthesis are only added for readability
如果我要将其添加到您现有的示例中,它将类似于:
ref = {"A0": ("0", "1", "2", "3", "4")}
test = lambda a1, p1,p2: (a1 in ref) and (p1 in ref[a1]) and (p2 in ref[a1])
planta_accesibles = probpl.RelaciónRígida(test)