Python如何将列表内的空格分隔数字字符串拆分为独立数值元素?
实现方法
基础实现(统一转浮点型,通用场景够用)
undesirable = ['0 0.8770833333333333 0.3712962962962963 0.03567708333333333 0.04537037037037037'] # 拆分+类型转换一步完成 desirable = [float(num) for num in undesirable[0].split()]
执行后输出的desirable值为:[0.0, 0.8770833333333333, 0.3712962962962963, 0.03567708333333333, 0.04537037037037037]
完全匹配目标格式(第一个值为int类型)
如果你需要严格和给出的目标格式一致,整数形态的数值保留int类型,可以加简单的类型判断:
desirable = [int(num) if num.isdigit() else float(num) for num in undesirable[0].split()]
执行后输出的desirable值和要求完全一致:[0, 0.8770833333333333, 0.3712962962962963, 0.03567708333333333, 0.04537037037037037]
逻辑说明
undesirable[0]:取出列表中唯一的字符串元素split():默认按任意数量的空白字符拆分字符串,自动跳过连续多空格,不需要额外处理空格数量- 列表推导式遍历拆分后的每个字符串,转换为对应数值类型即可
内容的提问来源于stack exchange,提问作者alireza
相关产品推荐
相关产品推荐

