4 回答
TA贡献1875条经验 获得超5个赞
“line.split(',')”用“,”分割字符串并返回列表。对于字符串 '1,8.3,70,10.3' 它将返回 [1, 8.3, 70, 10.3]
TA贡献1826条经验 获得超6个赞
你可以说:
res = line.split(" ")
# map takes a function as the first arg and a list as the second
list_of_floats = list(map(lambda n: float(n), res.split(",")))
# then you can
List_one.append(list_of_floats)
这仍然会给你一个嵌套列表,因为你在每次迭代期间推送一个列表for line in f:,但每个列表至少会是你指定的浮点数。
如果您只想获得一个平面浮点列表而不是执行初始操作,line.split(' ')您可以使用正则表达式来分割从 csv 读取的行:
import re # at the top of your file
res = re.split(r'[\s\,]', line)
list_of_floats = list(map(lambda n: float(n), res))
List_one.append(list_of_floats)
TA贡献1859条经验 获得超6个赞
如果需要,您可以用逗号分隔字符串。不过,在将它们附加到 List_one 之前,您可能应该完成所有操作。
res = [float(x) for x in line.split(" ")[0].split(",")] List_one.append(res)
这是否如您所愿?抱歉,我不确定输入的格式是什么,所以我有点猜测
TA贡献1827条经验 获得超9个赞
这可能有帮助:
l =[['1,8.3,70,10.3'], ['2,8.6,65,10.3'], ['3,8.8,63,10.2'], ['4,10.5,72,16.4']]
l2 =[]
for x in l:
a =x[0].split(",")
l2.append(a)
print(l2)
享受!
- 4 回答
- 0 关注
- 137 浏览
添加回答
举报