将元组与列表进行比较

时间:2017-05-18 15:50:06

标签: python python-3.x

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'”我没有采取正确的反应。

抱歉我的英文。

1 个答案:

答案 0 :(得分:1)

我不知道probpl.RelaciónRígida()是什么,所以我不知道那需要什么,但我想我可以认识到你正在尝试用lambda函数做什么(随意纠正我或提出问题)。

看起来您希望拥有一个名为'A0'的列表,并测试其中是否包含p1p2。在这种情况下,我相信字典会比嵌套元组更适合您的需求:

ref = {"A0": ("0", "1", "2", "3", "4")}

这允许您测试字典以确定它是否包含与密钥a1关联的值(您的元组):

a1 in ref

确定字典包含a1的条目后,您可以测试该条目是否包含p1p2

(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)
相关问题