如何在Python中从列表中移除所有浮点数值?
如何在Python中移除列表里的浮点数值?
针对你给出的示例输入[3.2, 0.0, 3, 4],可以用以下几种简单方法得到期望输出[3, 4]:
方法1:列表推导式(推荐)
通过类型判断筛选出非浮点类型的元素:
input_list = [3.2, 0.0, 3, 4] output = [x for x in input_list if not isinstance(x, float)] print(output) # 输出: [3, 4]
核心逻辑是用isinstance(x, float)检查元素是否为浮点型,取反后保留符合要求的元素。
方法2:使用filter函数
结合匿名函数筛选元素:
input_list = [3.2, 0.0, 3, 4] output = list(filter(lambda x: not isinstance(x, float), input_list)) print(output) # 输出: [3, 4]
filter会根据lambda表达式的结果过滤列表,最后用list()将过滤后的迭代器转为列表。
注意:如果你的需求是保留像
5.0这类值为整数的浮点数,需要额外判断元素是否等于其整数形式,但根据你的示例,直接按类型过滤即可满足需求。
内容的提问来源于stack exchange,提问作者Zomorod
相关产品推荐
相关产品推荐

