我只想把一个列表中的一个元素从字符串转换成浮点型。
名单如下:
list_1 = ['0.49', '0.54', '0.54', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54']
我想要的输出是:
list_2= ['0.49', 0.54, '0.54', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54']
按代码:
list_1 = ['0.49', '0.54', '0.54', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54']
list_2 = []
for element in list_1:
if element == list_1[2]:
list_2.append(float(element))
else:
list_2.append(element)
print(list_2)
输出为;
list_2= ['0.49', 0.54, 0.54, '0.55', '0.55', 0.54, '0.55', '0.55', 0.54]
3条答案
按热度按时间flseospp1#
只需复制原始列表并修改索引为
1
的元素:也可以使用带有
enumerate
的列表解析。hkmswyz62#
或者您可以尝试设置一个 flag 来标记已完成的操作。如下所示:(这是按照你的思维逻辑)
注意-这不是基于
0.54
处于 * 固定 * 位置的假设,可能更 * 灵活 *。cigdeys33#
如果要转换的项目基于位置,则可以直接指定转换后的值:
如果要转换给定值的第一个匹配项,可以使用index()方法查找位置
你可以使用字典来转换解析中的第一个示例,方法是使用.pop()来移除第一次使用后的键:
使用这样的字典,您可以对多个值执行一次性转换。例如,如果您希望转换每个字符串值的第一个示例,您可以使用值本身初始化字典: