如何从Python列表中删除值为0.1%、1%的指定元素?
解决方法
你可以直接用列表推导式完成过滤,有两种常见的实现思路:
- 直接匹配你要删除的两个固定值,适合仅需要过滤
0.1%和1%的场景:
data = [ '0.1%', 'hello', 'how are you guys', '0.1%', '1%', '0.1%', '1%', ] filtered_data = [item for item in data if item not in ('0.1%', '1%')]
运行后filtered_data的结果就是你需要的['hello', 'how are you guys']。
- 如果你需要过滤所有带
%后缀的百分比字符串,不止指定的两个值,可以用如下写法,也兼容你之前的实现思路:
filtered_data = [item for item in data if not item.endswith('%')]
原有代码问题说明
你之前写的cell = float(data.rstrip("%"))无法运行的原因是,rstrip是字符串对象的方法,而你传入的data是完整的列表,需要遍历列表中的每个字符串元素单独调用该方法才行。
内容的提问来源于stack exchange,提问作者Titan
相关产品推荐
相关产品推荐

