元素同时包含文字和数字的列表,如何将其中整数转换为float类型
混合文本列表数值转换方法
处理思路如下:
- 逐行遍历原始列表的每个字符串元素
- 先调用
strip()方法清除元素末尾的换行符\n - 按
,作为分隔符把字符串拆分为国家名称、数值字符串两个片段 - 调用
float()方法将数值字符串转换为浮点类型
如果需要保留国家与数值的对应关系,实现代码如下:
raw_list = ['Australia, 529\n', 'Jamaica, 466\n', 'England, 450\n', 'New Zealand, 391\n', 'South Africa, 363'] processed_result = [] for item in raw_list: country, num_str = item.strip().split(', ') processed_result.append((country, float(num_str)))
执行后输出的processed_result结果为:[('Australia', 529.0), ('Jamaica', 466.0), ('England', 450.0), ('New Zealand', 391.0), ('South Africa', 363.0)]
如果只需要提取所有浮点数值不需要关联国家信息,可以直接用列表推导式简化实现:
float_nums = [float(item.strip().split(', ')[1]) for item in raw_list]
执行后得到的float_nums结果为:[529.0, 466.0, 450.0, 391.0, 363.0]
内容的提问来源于stack exchange,提问作者user17501894
相关产品推荐
相关产品推荐

