将列表中的两个项目与具有两个值和 return 布尔值的多个列表进行比较

Compare two items in list to multiple lists with two values and return boolean values

我正在尝试将包含两个项目的单个控制列表与多个目标列表相匹配,每个目标列表也包含两个值。我已经在下面的代码中实现了这一点,但我无法弄清楚如何 return 多个列表以及每个列表比较的布尔结果。

value = [2.55, 5.55]

a = [2.55, 3.55]
b = [4.55, 5.55]
c = [6.55, 7.68]

check = [i for i in value if i in a + b + c]
print (check)

我希望结果类似于:(这是所需的输出)..

#a = [true, false]
#b = [false, true]
#c = [false, false]

谢谢

不知道这是否是您想要的以及您的逻辑是否有误,但这可能会起作用:

value = [2.55, 5.55]

a = [2.55, 3.55]
b = [4.55, 5.55]
c = [6.55, 7.68]

# comprehension
result = [[val in lst for val in value] for lst in [a, b, c]]
# without comprehension
result = []
for lst in [a, b, c]:
    row = []
    for val in value:
        row.append(val in lst)
    result.append(row)

# if u want to asign the lists to the a, b, c, u can do instead
a, b, c = [[val in lst for val in value] for lst in [a, b, c]]
print(a, b, c)
[True, False] [False, True] [False, False]
A,B,C = [[abc_value == val_value for abc_value, val_value in zip(abc, value)] for abc in [a,b,c]]

当然,如果有更好的命名约定并且最初将 a, b, c 存储在列表中,它会不那么难看。

zip()

(上面的解决方案符合我对你想要实现的目标的理解,只是在我的读心能力允许的范围内。)