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

Python列表推导式与for循环效果不同:strip去除$符号结果不一致

核心问题原因

你忽略了Python中字符串是不可变类型的核心特性:所有字符串内置方法都不会修改原字符串,只会返回处理后的新字符串。

错误点分析

你的for循环中,sale.strip("$")执行后生成了已移除$的新字符串,但你没有接收这个返回值,而是直接把未修改的原sale变量加入了结果列表,自然输出不会有变化。

修正后的for循环写法

sales = ['$1.21', '$7.29', '$12.52', '$5.13', '$20.39', '$30.82', '$1.85', '$17.98']
loop_sales =[]
for sale in sales:
    # 接收strip方法返回的新字符串再添加到列表
    loop_sales.append(sale.strip("$"))
print(loop_sales)

列表推导式生效的原因

列表推导式里你直接将sale.strip("$")的返回值作为新列表的元素,相当于自动接收了处理后的结果,所以输出符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:06:01