首页 > 解决方案 > 是否有通过列表替换值的功能?

问题描述

目前,我正在处理这样的列表

txt=['S&P 500 Index', '2,905.03', '+4.58', '+0.16%']                                  

由于我需要将所有数值转换为float而不是str,为了使用float(),我必须去掉','和'%'。有没有一种聪明的方法可以做到这一点?

现在,我正在做这样的事情。通过找到确切的索引来改变一切。

txt[1]=txt[1].replace(",","")               
txt[3]=txt[3].replace("%","")  

我想看到这样的东西

['S&P 500 Index', '2905.03', '+4.58', '+0.16']

标签: pythonlistreplace

解决方案


如果第一个元素可能不包含%,或者,您也可以对其应用替换操作而不更改其值。

txt=['S&P 500 Index', '2,905.03', '+4.58', '+0.16%']                                  
txt = [s.replace('%', '').replace(',','') for s in txt]
print(txt)

推荐阅读