python - 遍历两个列表,将一个列表与另一个列表进行比较并返回值
问题描述
我有两个要比较的列表。我想遍历列表一的值并将其与列表二中的值进行比较。我希望根据列表一中的值是否小于或等于列表二中的值来返回 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
解决方案
您的逻辑中有一些问题,我在下面附加的代码中更改了它们
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)
让我知道这是否为您解决了问题,问题陈述不是很清楚,我已根据我对问题陈述的解释修改了此代码
推荐阅读
- python - 如何从内存中清除单例对象?
- sql - 如何使用 T-SQL 从文本字符串中解析列
- nuxt.js - 无法读取未定义的属性(读取“$recaptcha”)
- git - 如何将 git 子模块集成到 git 工作流
- firebase - 使用 Express.js 的 firebase 函数的单元测试
- ios - 如何通过移动自动化测试来测试浏览器弹出?
- python - 在 Telegram 中使用 getUserProfilePhotos 获取图片配置文件用户
- r - 如何保存文件的最后一列有一个值
- sql - SQL切换多边形字符串中的经纬度位置
- c++ - 重设 wm 和 BadWindow 错误