我有两个列表
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]