元组与lis比较

2024-04-24 15:06:52 发布

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

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'”键,我不会做出正确的回答。你知道吗

对不起我的英语。你知道吗


Tags: lambdain列表a1a0元组p2p1
1条回答
网友
1楼 · 发布于 2024-04-24 15:06:52

我不知道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)

相关问题 更多 >