首页 > 解决方案 > 遍历两个列表,将一个列表与另一个列表进行比较并返回值

问题描述

我有两个要比较的列表。我想遍历列表一的值并将其与列表二中的值进行比较。我希望根据列表一中的值是否小于或等于列表二中的值来返回 1、0 或 -1。

例如,列表一中的值 2 将被赋值为 0,因为它大于列表二中的 0 且小于 3。

list_one = [0,2,5,0,3,7]
list_two = [0,3]

#loop through list one values
for j in list_one:
    #loop through list two values
    for k in list_two:
        
        if float(j) <= k:
            value = 1
            break            
        elif float(j) <= k:
            value = 0 
            break
        else:
            value = -1
            
    print(value)

实际结果:

1
1
-1
1
1
-1

预期结果:

1
0
-1
1
0
-1

标签: pythonlistloops

解决方案


您的逻辑中有一些问题,我在下面附加的代码中更改了它们

list_one = [0,2,5,0,3,7]
list_two = [0,3]

#loop through list one values
for j in list_one:
    #loop through list two values
    value=0
    for k in list_two:
        
        if float(j) <= k:
            value += 1
            break            
        elif float(j) == k:
            value += 0 
            break
        else:
            value += -1
            
        if value > 1:
            value = 1
        elif value < -1:
            value = -1
            
    print(value)

让我知道这是否为您解决了问题,问题陈述不是很清楚,我已根据我对问题陈述的解释修改了此代码


推荐阅读