遍历两个2D列表,检查是否可以进行组合



我在这里有点问题,不知道我在那里是否使用了正确的思维,但我在这里。

我有两个2D阵列,其中一个阵列有一个填充其"的随机变量;第二维度";从a到D的一个字母池,另一个包含可能的组合,例如:

随机2D列表请注意,第二个维度,即"A"、"B"、"C"是随机填充的。

ran = [[51,'A'],[52,'D'],[53,'C'],[54,'B']]

使用可能的组合查找2D列表

lookup = [[51,'A'],[51,'B'],[52,'B'],[52,'C'],[52,'D'],[53,'A'],[54,'A'],[54,'B']]

现在,我想做的是从随机2d列表中提取第一个项目,使用查找列表果是则将其存储在新列表中,然后继续处理其他项目,如果不存储在BAD列表中:

示例

[51,'A'] = possible, iterate through next number i.e 52. store in OK list
[52,'D'] = possible, store in OK list
[53,'C'] = not possible, store in BAD list

不太确定这是否有意义,但感谢您提供的任何反馈!

格里夫。

如果对ran中的对进行迭代,则可以使用in运算符返回一个布尔值,指示lookup:中是否也存在相同的对

for r in ran:
found = True if r in lookup else False
print(r, found)

给定上面的2个列表,输出为

[51, 'A'] True
[52, 'D'] True
[53, 'C'] False
[54, 'B'] True

最新更新