Python中如何将元组的第二个元素从字符串转为浮点数?
解决方法
1. 字符串转浮点数处理
你可以通过列表推导式遍历原始数据,将每个元组中的字符串类型数值转为浮点数:
原始提取数据:
[(86246, '7.5'), (86246, '1.5'), (86246, '5.9'), (86246, '1.9'), (86246, '10.3'), (86246, '7.')]
处理代码:
original_data = [(86246, '7.5'), (86246, '1.5'), (86246, '5.9'), (86246, '1.9'), (86246, '10.3'), (86246, '7.')] processed_data = [(id_num, float(value_str)) for id_num, value_str in original_data]
执行后processed_data的结果就是你需要的格式:
[(86246, 7.5), (86246, 1.5), (86246, 5.9), (86246, 1.9), (86246, 10.3), (86246, 7.0)]
注:'7.'转为浮点数后会自动变成7.0,不影响后续字典生成逻辑。
2. 生成字典
基于处理后的浮点数列表,你可以通过遍历生成目标字典。比如将同一ID对应的数值收集为列表:
result_dict = {} for id_num, value in processed_data: result_dict.setdefault(id_num, []).append(value)
最终字典结果:
{86246: [7.5, 1.5, 5.9, 1.9, 10.3, 7.0]}
内容的提问来源于stack exchange,提问作者Delta23
相关产品推荐
相关产品推荐

