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

Python:如何用if语句判断值是否匹配列表元素并输出

简洁实现需求的几种方法

原代码的问题说明

  1. 列表定义错误:不能写成list[4,15,...],正确的列表定义是变量名 = [元素1, 元素2, ...],且不要用list作为变量名(会覆盖Python内置的list类型)。
  2. any()用法错误:any(列表)是判断列表中是否存在布尔值为True的元素(非零数字都视为True),返回的是布尔值,所以i == any(列表)只会在i等于1时成立(因为True等价于1),完全不符合你的需求。

方法1:直接遍历目标列表(最简洁,若无需遍历0-66)

如果你的需求只是打印列表中的所有元素,不需要循环0到66,直接遍历列表即可:

target_nums = [4,5,6,17,18,19,23,30,31,32,33,38,39,48,49,52,54,55,56,66]
for num in target_nums:
    print(num)

方法2:用in操作符检查(需遍历0-66时)

必须循环0到66的话,用i in 列表来判断i是否在目标列表中,这是Python中最直接的写法:

target_nums = [4,5,6,17,18,19,23,30,31,32,33,38,39,48,49,52,54,55,56,66]
for i in range(0, 67):
    if i in target_nums:
        print(i)

方法3:用集合优化查找速度(列表元素较多时)

如果目标列表元素数量很大,把列表转成集合可以让查找操作从O(n)优化到O(1),效率更高:

target_set = {4,5,6,17,18,19,23,30,31,32,33,38,39,48,49,52,54,55,56,66}
for i in range(0, 67):
    if i in target_set:
        print(i)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:25:16