需要将第一个列表中的项目与第二个列表中的每个其他项目进行比较,并为新列表中的每次检查返回通过或失败



我有两个列表

lsitA = [100,200,300]
listB = [[97,103],[103,202],[202,250]]

我试图检查listA[x]中的项目是否在listB[i][0]listB[i][1]的一定范围内然后返回false,否则返回true。换句话说,我试图看看lsitA[0]是否满足listB[1]listB[2]listB[3]的这些条件,然后返回False。True/False的个数必须等于listB中子列表的个数

这是我到目前为止所尝试的

lsitA = [100,200,300]
listB = [[97,103],[103,202],[202,250]]
def check(listB, val):
result = []  

for x in range(len(listB)):
if listB[x][0]<=val<=listB[x][0]+4 or listB[x][1]-4<=val<=listB[x][1]:
return result.append(print('Fail')) 
return result.append(print('Pass'))
for i in lsitA:
check(listB,i)
##Expected output: [Fail,Fail,Pass]

result.append()无返回值,print()也无返回值。如果您想要一个包含结果的列表,我建议执行以下操作:

def check(listB, val):
for item in listB:
if val in range(item[0], item[1]+1):
return 'Fail'
return 'Pass'
result = [check(listB, i) for i in listA]