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

Python入门求助:如何将数值列表转换为布尔值列表

将数值列表转换为布尔值列表的问题解决

你的代码存在几个关键问题,导致无法得到预期的布尔值列表:

  • 函数名拼写错误:covert_to_boolean 应为 convert_to_boolean
  • 循环逻辑错误:遍历列表时,遇到第一个满足 num >= -10 的元素就直接返回True,函数立即终止,不会处理剩余元素,这就是你只得到单一True的原因
  • else块逻辑无效:else中的False没有实际作用,返回原列表lst的逻辑完全不符合需求

正确解法1:列表推导式(简洁高效)

这是Python中处理这类转换最常用的方式:

def convert_to_boolean(lst):
    return [num <= -10 for num in lst]

测试代码:

lst = [-10.4, -33.6, -1.2, -11.4, -1.1]
print(convert_to_boolean(lst))  # 输出: [True, True, False, True, False]

正确解法2:循环构建列表(适合入门理解)

如果你想通过循环逐步处理每个元素,可以这样写:

def convert_to_boolean(lst):
    result_list = []
    for num in lst:
        # 按规则添加布尔值到结果列表
        result_list.append(num <= -10)
    return result_list

两种方法都能得到你预期的布尔值列表,其中列表推导式更符合Python的简洁风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:55:21