You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python多列表对应元素条件判断生成输出数组咨询

实现思路与代码示例

核心思路

要生成目标输出数组,关键是遍历三个传感器列表的对应元素,对每一组(夏季、秋季、冬季)读数执行指定的条件判断,将结果逐个收集到列表中。由于三个列表长度一致,可通过zip()函数快速配对对应位置的元素。

基础实现代码

# 传感器读数列表
summer = [92, 99, 86]
autumn = [91, 98, 82]
winter = [93, 96, 83]

output = []
# 遍历每组对应元素
for s, a, w in zip(summer, autumn, winter):
    if s >= 90 and a >= 90 and w >= 90:
        output.append(1)
    elif s >= 90 and a >= 90 and w >= 70:
        output.append(2)
    elif s >= 50 and a >= 50 and w >= 50:
        output.append(3)
    else:
        output.append(4)

print(output)  # 输出: [1, 1, 3]

代码关键点解释

  • zip(summer, autumn, winter):将三个列表的同位置元素打包成元组,每次循环取出一组夏季、秋季、冬季的读数。
  • 条件判断顺序:严格按照给定的优先级执行,一旦满足某个条件就停止后续判断,确保结果符合预期。
  • output.append():将每组判断的结果添加到输出列表,最终得到目标数组。

进阶简洁写法(列表推导式)

如果想让代码更紧凑,可以用Python的列表推导式实现:

summer = [92, 99, 86]
autumn = [91, 98, 82]
winter = [93, 96, 83]

output = [
    1 if s >= 90 and a >= 90 and w >= 90 else
    2 if s >= 90 and a >= 90 and w >= 70 else
    3 if s >= 50 and a >= 50 and w >= 50 else
    4
    for s, a, w in zip(summer, autumn, winter)
]

print(output)  # 输出: [1, 1, 3]

这种写法将循环和条件判断整合到一行,逻辑清晰且代码更简洁,适合这类规则明确的场景。

内容的提问来源于stack exchange,提问作者samreet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:54:22