Python如何将变量a、b、c正确存入列表Var2?(附问题代码)
错误原因
现有代码存在两处核心问题,导致运行结果不符合预期:
- Python依靠缩进判定代码块归属,原代码中
if i <= 2:分支下的执行语句缩进错误,逻辑没有和判断条件正确绑定 - 满足判断条件时使用
Var2 = [i]直接覆盖整个列表,而非向列表追加元素,循环结束后列表只会保留最后一个符合条件的值2
修复后代码
a=0 b=1 c=2 d=3 e=4 Var = [a,b,c,d,e] Var2 =[] for i in Var: if i <= 2: # 正确缩进至if分支内,调用append追加元素而非覆盖列表 Var2.append(i) print(Var2)
运行输出为[0, 1, 2],对应a、b、c三个变量的值,符合需求。
精简写法
不需要额外循环处理逻辑的场景下,可以直接用列表推导式一步完成筛选:
a=0 b=1 c=2 d=3 e=4 Var = [a,b,c,d,e] Var2 = [i for i in Var if i <= 2] print(Var2)
运行结果和上述修复代码完全一致。
内容的提问来源于stack exchange,提问作者user18923732
相关产品推荐
相关产品推荐

