更改列表中的所有元素以浮动[重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

我打开一个文本文件并将其索引[1]附加到列表中,输出为['18 .0','15','8.50','10 .50']。我想要的输出是[18,15,8.5,10.5]。

file = open(file, "r")
sheet = sheet = [line.strip() for line in theFile]
del sheet[0]
sheet.sort()
for i in sheet:
    lines = (i.split(','))
    list.append(lines[1]) 
python python-3.x list
2个回答
0
投票

最简单的解决方法是在将浮点值附加到列表时解析浮点值:

list.append(float(lines[1]))

1
投票

map非常容易解决您的问题。

newList = list(map(float, myList))

map函数将函数(在本例中为float)应用于列表中的每个值。它返回一个map对象,我们需要将其转换为列表。这就是线路开头的list()

所以,在你的情况下,它应该是这样的:

lines = list(map(float, lines))

这会将列表lines中的所有整数转换为浮点数。

© www.soinside.com 2019 - 2024. All rights reserved.