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

如何用Python编写返回基于关键词切换的布尔值列表的脚本

解决方案

你需要维护一个状态变量跟踪当前应返回的布尔值,每次遇到关键词时切换这个状态,而不是仅给关键词设为False。正确实现代码如下:

def flick_switch(lst):
    current_state = True
    result = []
    for item in lst:
        if item == "switch":
            # 遇到关键词就切换状态
            current_state = not current_state
        # 无论是否为关键词,都将当前状态加入结果列表
        result.append(current_state)
    return result

逻辑说明

  • 初始化current_state为True,对应题目要求的初始布尔值
  • 遍历输入列表的每个元素:
    • 若元素是"switch",将current_state取反(完成状态切换)
    • 将当前的current_state添加到结果列表中
  • 此逻辑可实现:遇到关键词时,当前元素及后续元素的布尔值统一切换,直到下一个关键词再次触发切换

测试验证

用你提供的示例输入测试:

test_input = ["hello", "what", "switch", "am", "i", "doing", "switch", "here"]
print(flick_switch(test_input))
# 输出:[True, True, False, False, False, False, True, True]

完全符合期望输出。

原代码问题分析

你之前的代码仅简单判断元素是否为关键词,直接添加固定的True/False,没有维护状态切换的逻辑,因此无法实现后续元素布尔值跟随关键词切换的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:49:55