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

Python函数开发求助:提取混合列表中截断后的整数值

解决Python混合数字列表截断整数的问题

嘿,其实你完全不用纠结判断元素是int还是float的环节哦!Python里的int()函数本身就可以直接帮你完成截断操作,不管输入是整数还是浮点数:

  • 对于整数,int(5)会直接返回5,不会有任何变化
  • 对于浮点数,int(6.4)会截断小数部分返回6,int(7.5)返回7,正好符合你要的效果

所以你只需要一行列表推导式就能实现需求,完整函数代码如下:

def truncate_numbers(num_list):
    return [int(num) for num in num_list]

测试一下你给的例子:

input_list = [5, 6.4, 7.5, 8.8, 2, 2.1]
print(truncate_numbers(input_list))  # 输出: [5, 6, 7, 8, 2, 2]

如果担心输入列表里可能混入非数字类型(题目没提的话其实不用),也可以加个类型判断来过滤或处理:

def truncate_numbers(num_list):
    truncated_list = []
    for num in num_list:
        # 只处理整数和浮点数类型的元素
        if isinstance(num, (int, float)):
            truncated_list.append(int(num))
        # 可选:对非数字元素做提示或跳过
        # else:
        #     print(f"跳过非数字元素: {num}")
    return truncated_list

这样不管列表里是int还是float,都能完美处理啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:25:33