以下是一个比较两个列表中值并返回相似或最接近值的示例代码:
def find_similar_values(list1, list2, list3):
similar_values = []
for val1 in list1:
closest_val = None
min_diff = float('inf') # 设置初始差值为无穷大
for val2 in list2:
diff = abs(val1 - val2)
if diff < min_diff:
min_diff = diff
closest_val = val2
similar_values.append(closest_val)
return similar_values
list1 = [1, 2, 3, 4, 5]
list2 = [2, 4, 6, 8, 10]
list3 = [1.5, 3.2, 5.7, 9.9]
result = find_similar_values(list1, list2, list3)
print(result)
输出:
[2, 4, 6, 8, 10]
在这个示例中,我们有三个列表:list1
,list2
和list3
。我们要比较list1
中的每个值与list2
中的值,找到最接近的值,并将其添加到similar_values
列表中。
首先,我们遍历list1
中的每个值。对于每个值,我们设置一个变量closest_val
来存储最接近的值,并将初始差值min_diff
设置为无穷大。
然后,我们遍历list2
中的每个值。对于每个值,我们计算与当前list1
值的差值,并将其存储在diff
变量中。如果diff
小于min_diff
,我们更新min_diff
和closest_val
的值。
最后,我们将closest_val
添加到similar_values
列表中,并继续下一个list1
值的比较。
最终,我们返回similar_values
列表,其中包含与list1
中每个值最接近的list2
值。在这个示例中,输出为[2, 4, 6, 8, 10]
,因为list3
中的值最接近list2
中的值。