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

如何将判断字符串是否在列表元素中的Python多行代码改写为单行?

单行实现字符串存在性检查

当然可以!Python的内置特性刚好能帮你把这段多行逻辑浓缩成一行简洁的代码,而且完全保留原有的短路求值特性——找到第一个匹配项就立刻返回,不用遍历整个列表,效率和原代码一模一样。

单行代码实现

直接用any()函数结合生成器表达式就能搞定,代码如下:

return any(x in a for a in array)

为什么这行代码可行?

  • any()函数会遍历传入的可迭代对象(这里是生成器x in a for a in array),只要遇到第一个为True的元素就立刻返回True,和你原来的循环逻辑完全对齐
  • 如果遍历完所有元素都没找到匹配项,any()就会返回False,正好对应原代码最后的return False

实际示例验证

比如你的列表是array = ["hello world", "python code", "stack exchange"],目标字符串x = "python":

array = ["hello world", "python code", "stack exchange"]
x = "python"
print(any(x in a for a in array))  # 输出: True

如果x是"java",就会输出False,和原代码的运行结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:35:21