Skip to main content
 首页 » 编程设计

Python隐式嵌套for循环

2025年05月04日10lonelyxmas

我想遍历从文件中读取的每一行,拆分它们,然后将每个拆分的元素转换为 float 以创建一个二维 float 列表。

到目前为止,我有以下代码:

f = open('coordinates.dat') 
contents = map(str.strip, f.readlines()) 
f.close() 

对于contents中的每个元素(行),我想做line.split(),然后对于line.split()中的每个元素,将它们转换为 float 。是否可以使用隐式循环来做到这一点?输出看起来像这样:

[[float1, float2, float3], [float4, float5, float6], ... , [floatX, floatY, floatZ]] 

(文件每行三个数字)

我尝试了以下方法:

a = [ line for line in contents for float(i) in line.split()] 

它给出了语法错误:SyntaxError: can't assign to function call

请您参考如下方法:

重新排列您的尝试会产生正确的代码:

a = [[float(i) for i in line.split()] for line in contents]