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
相关产品推荐
相关产品推荐

