如何从Python列表的字符串元素中提取指定数值生成新列表
解决方法
你可以通过逐行处理列表内的字符串,拆分提取末尾的数值即可,核心逻辑是利用Python字符串的空白分割特性,不用手动处理空格数量:
代码实现
# 原始列表 H = [ ' 2 t[0,1] B 1e-08 \n', ' 3 t[0,2] B 1e-09 \n', ' 4 t[0,3] B 1e-2 \n', ' 5 t[0,4] B 1e-08 \n' ] # 处理逻辑 H = [float(s.strip().split()[-1]) for s in H]
代码说明
s.strip():先去掉每个字符串首尾的换行符、多余空格split():不带参数的split默认会按任意长度的空白(空格、制表符等)分割字符串,不管中间有多少个空格都能正确拆分出字段split()[-1]:取拆分后列表的最后一个元素,就是你要的科学计数法字符串- 外层套
float()把字符串转成数值类型
处理完之后输出H就能得到[1e-08, 1e-09, 0.01, 1e-08],其中1e-2会自动转成0.01,如果你要保留字符串格式的科学计数法,去掉float()即可。
内容的提问来源于stack exchange,提问作者user15649753
相关产品推荐
相关产品推荐

