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

如何将含SHAPE标识的字符串列表转换为0.0/1.0浮点列表?

快速实现SHAPE列表的奇偶编号转换

核心思路是提取每个SHAPExx中的数字部分,判断其奇偶性后映射为对应的浮点值:奇数编号对应1.0,偶数编号对应0.0。

最简便的实现方式:列表推导式

直接用一行代码完成转换,可读性和效率都很高:

original_list = ['SHAPE69', 'SHAPE48', 'SHAPE15', 'SHAPE28', 'SHAPE33', 'SHAPE27', ...]
result = [1.0 if int(s[5:]) % 2 else 0.0 for s in original_list]

解释:

  • s[5:]截取SHAPE后的数字部分(SHAPE固定为5个字符长度)
  • int(s[5:]) % 2判断数字奇偶:奇数结果为1(布尔值True),偶数结果为0(布尔值False)
  • 根据判断结果直接返回1.0或0.0

备选方案:map + lambda

如果习惯函数式编程风格,也可以用map配合匿名函数实现:

result = list(map(lambda s: 1.0 if int(s[5:]) % 2 else 0.0, original_list))

兼容不规则命名的扩展(若SHAPE后存在其他字符)

如果遇到SHAPE后非纯数字的特殊情况,可通过字符串拆分提取数字:

result = [1.0 if int(s.split('SHAPE')[1]) % 2 else 0.0 for s in original_list]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:55:18