floatRow = [float(num) for num in row]第一次见到这种循环,这是跟什么知识相关呢?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#将数据排列成标签列表和属性列表
xList = []
labels = []
for line in data:
    #在逗号分割
#     print(type(line),type(data))
    line = str(line)
    row = line.strip().strip('b\'').strip('\\n').split(",")
    #assign label 1.0 for "M" and 0.0 for "R"
    #把1.0赋值给M,0.0赋值给R
    if(row[-1] == 'M'):
        labels.append(1.0)
    else:
        labels.append(0.0)
    #remove lable from row
    #从行移除标签'R/M'
    #pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
    row.pop()
    #将行转换为浮点数
    floatRow = [float(num) for num in row]
    testRow = [for num in row: float(num)]
    print('floatRow')
    print(floatRow)
    print('testRow')
    print(testRow)
    xList.append(floatRow)

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

这叫列表推导式,同理可以元组推导,字典推导,集合推导
但这种testRow = [for num in row: float(num)]还真没见过