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

如何在Python中将字符串列表转换为混合数值类型列表?

解决字符串数字列表的混合类型转换问题

你可以通过先将每个字符串转换为float,再判断该值是否为整数(即小数部分为0),如果是则转为int,否则保留float的方式实现需求。

方法一:列表推导式实现

li = ['1', '4', '8.6']
result = [int(float(num)) if float(num).is_integer() else float(num) for num in li]
print(result)
# 输出: [1, 4, 8.6]

方法二:自定义函数配合map实现

def convert_num(num_str):
    num_float = float(num_str)
    return int(num_float) if num_float.is_integer() else num_float

li = ['1', '4', '8.6']
result = list(map(convert_num, li))
print(result)
# 输出: [1, 4, 8.6]

逻辑说明

  • 先统一转成float是为了兼容整数和小数格式的字符串;
  • 利用float类型的is_integer()方法判断数值是否为整数(比如1.0.is_integer()返回True,8.6.is_integer()返回False);
  • 通过条件判断实现整数字符串转int、小数字符串转float的混合转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:50:25