Python 多个列表元素比较

Python multiple lists elements compare

我想比较所有列表元素并检查它们是否在其他元素的值内是 + 或 - 40(或相同)。

例如:list1 中的值 400 与 list2 和 list3 中的所有元素进行比较,如果其中一个元素在 360 和 440 之间。

list1 = [100,200,300,400,400]
list2 = [90,400,410,500,600]
list3 = [600,380,110,800,900]

output: 400,410,380

我试过双 for 循环,但它只检查 list1 中的一个元素:

for x in list1:
  for xy in list2, list3:
   if x <= 400 <= xy:
    print "something"

但它从不打印任何东西。

我希望我的解释和示例足够好,如果不够好,请让我知道您缺少什么!

提前致谢!

list1 = [100,200,300,400,400]
list2 = [90,400,410,500,600]
list3 = [600,380,110,800,900]
complist = [j for i in zip(list2, list3) for j in i]
myrange=40
for x in list1:
  for y in complist:
      if x-myrange <= y <= x+myrange:
          print('list1={}: complist={} is within range {}'.format(x, y, myrange))

我创建了一个新列表,其中包含您要与 list2list3 进行比较的所有值。我想我使用的打印代码是 Python3 的通用代码,因此您可能需要调整它。