摆烂不好但很快乐 2022-01-05 15:11 采纳率: 71.4%
浏览 37
已结题

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)

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

1条回答 默认 最新

  • chuifengde 2022-01-05 15:41
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月5日